Я читаю исходный код 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();
}
В этой функции разработчики 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();
}
Я не видел, чтобы разработчики Google устанавливали Null на mList onDestroy из ListActivity, как это делали для класса ListFragment.
Мой вопрос
-
Почему разработчики Google не устанавливали Null в mList в onDestroy ListActivity? Любые причины?
-
Нужно ли устанавливать Null для всех полей View в Activity onDestroy и Fragment onDestroyView?
3. Любые методы для набора Null в этих двух функциях: Activity onDestroy и Fragment onDestroyView?
Спасибо за ваши идеи!