我正在阅读ListFragment源代码,我看到了这个实现:
ListAdapter mAdapter;
ListView mList;
View mEmptyView;
TextView mStandardEmptyView;
View mProgressContainer;
View mListContainer;
CharSequence mEmptyText;
boolean mListShown;
/**
* Detach from list view.
*/
@Override
public void onDestroyView() {
mHandler.removeCallbacks(mRequestFocus);
mList = null;
mListShown = false;
mEmptyView = mProgressContainer = mListContainer = null;
mStandardEmptyView = null;
super.onDestroyView();
}
Run Code Online (Sandbox Code Playgroud)
在此函数中,Google开发人员将Null设置为在ListFragment中声明的所有视图字段,并删除回调"mRequestFocus".
在ListActivity源代码中.Google开发人员实施如下:
protected ListAdapter mAdapter;
protected ListView mList;
private Handler mHandler = new Handler();
@Override
protected void onDestroy() {
mHandler.removeCallbacks(mRequestFocus);
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
我没有看到Google开发人员在ListActivity的onDestroy上将Null设置为mList,就像他们为ListFragment类所做的那样.
我的问题是
为什么谷歌开发者没有在ListActivity的onDestroy中将Null设置为mList?有什么原因?
我们是否需要将Null设置为Activity的onDestroy和Fragment的onDestroyView中的所有View字段?
3.在这两个函数中设置Null的任何做法:Activity的onDestroy和Fragment的onDestroyView?
谢谢你的想法!