问题遇到的现象和发生背景
网上找到一篇帖子说在应用退到后台后,系统会在内存不足时将应用回收掉,再次启动应用会出现Activity中的Fragment重叠现象,其实出现问题的原因是这样的,在回收应用回收前FragmentActivity会调用onSaveInstanceState(Bundle outState) 方法,保存当前的Fragment的状态。所以需要在FragMent里的onCreate里将savedInstanceState相应的Parcelable重新置为空,跟了一下代码确实也是和描述的一致,但是现在不知道savedInstanceState.utParcelable(@Nullable String key, @Nullable Parcelable value) 第一个参数应该怎么写,或者从哪获取呢?
原文链接:https://blog.csdn.net/songmingzhan/article/details/84452610
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
// super.onSaveInstanceState(outState);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
if(savedInstanceState!=null)
{
if (BuildConfig.DEBUG) Log.d("TabViewPtz", "这是恢复的页面"+savedInstanceState);
savedInstanceState.putParcelable(这里的key应该写什么,从哪获得,null);
}
else {
if (BuildConfig.DEBUG) Log.d("TabViewPtz", "这是正常的创建");
}
super.onCreate(savedInstanceState);
}
我想要达到的结果
安卓开发不久,这应该是个基础问题,希望各位不吝赐教,感激不尽