Beam icon indicating copy to clipboard operation
Beam copied to clipboard

程序压入后台,BeamListFragment会报空指针。

Open gohhng opened this issue 8 years ago • 2 comments

Activity中使用BeamListFragment,程序压入后台(如按home键,用360卫士清理内存),再恢复时,会报空指针。 原因可能是: 压入后台, Fragment可能会系统回收了,Presenter中的view=null了。再恢复时,没有走Fragment的onCreate方法,只走了onCreateView ,

这时在onCreateView 中执行:

if (mListConfig.mStartWithProgress&&!getPresenter().inited) mListView.setAdapterWithProgress(mAdapter = getPresenter().getAdapter()); else mListView.setAdapter(mAdapter = getPresenter().getAdapter());

DataAdapter引用的getview就空指针异常了。

gohhng avatar Apr 20 '16 05:04 gohhng

抱歉拖了这么久才有空。 有错误log吗。我这边怎么实验都没问题。 Fragment被回收再恢复肯定要走onCreate方法。走了onCreate就能重新绑定。

Jude95 avatar May 07 '16 12:05 Jude95

另外据我所知。AMS在内存不足时,是将进程信息(包含Activity)保存到AMS,再杀掉进程。 不可能存在Activity/Fragment被回收。而进程却存在的情况吧?

Jude95 avatar May 08 '16 08:05 Jude95