Avoid passing null as the view root (needed to resolve layout parameters on the inflated layout's root element)
之前
@NonNull
@Override
public ItemHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_playing_queue, null);
return new ItemHolder(v);
}
之后
@NonNull
@Override
public ItemHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = View.inflate(viewGroup.getContext(), R.layout.item_playing_queue, null);
return new ItemHolder(v);
}
This AsyncTask class should be static or leaks might occur (anonymous android.os.AsyncTask
这个是建议把AsyncTask的子类声明为static的,但是声明为static后,里面用到的那些变量全部都需要通过构造函数传入。传入后,会引发下面的那个警告。
意思是字段可能引起内存泄露,因为里面的一些控件间接在持有activity的引用。
查找各种资料,发现AsyncTask已经被官方启用了。具体说明参考如下:
【搬运】AsyncTask is Deprecated, Now What?
别再使用AsyncTask了,它已经被正式弃用了
由于旧项目太多了,以后抽时间升级sdk版本并重构。这个版本先不升级了,暂时忽略这两个错误了吧。
This field leaks a context object
参考上面的文档链接。