使用Fragment应用放置后台好久,被系统回收,出现crash

使用Fragment应用放置后台好久,被系统回收,出现crash;
缘由:系统作了源码FragmentActivity调用onSaveInstanceState保存Fragment对象,
这时候系统恢复保存的Fragment,可是在FragmentActivity从新执行生命周期的时候,
咱们从新生成了fragment对象附加到该FragmentActivity,系统恢复的fragment和activity失去关联,出错;
处理:方法1.在fragmentActivity里oncreate方法判断savedInstanceState==null才生成新Fragment;不然不作处理;
方法2.在fragmentActivity里重写onSaveInstanceState方法,但不作实现;php

源码FragmentActivity
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
Parcelable p = this.mFragments.saveAllState();
if (p != null)
outState.putParcelable("android:support:fragments", p);
}
html

相关文章
相关标签/搜索