Android6.0以上应用在长时间在后台,因为内存不足导致系统回收内存,当再次启动应用出现Fragment重叠或者空白、异常解决方案(提供模拟内存不足导致系统回收内存的方案)。

  Android6.0以上应用在长时间在后台,因为内存不足导致系统回收内存,当再次启动应用出现Fragment重叠或者空白解决方案。

首先提供一个方法模拟内存不足导致系统回收内存的方案:

打开Android Studio -->Tools-->Android-->Android Device Monitor-->把你的应用切换到后台(home键)-->选择你的应用包名-->点击红色的stop按钮-->再次进入你的应用,即可模拟出内存被回收的情况。


下面给出的解决方案是:(摘录)

方案1:在fragmentActivity里oncreate方法判断savedInstanceState==null才生成新Fragment,否则不做处理。

方案2:在fragmentActivity里重写onSaveInstanceState方法,但不做实现,也就是将super.onSaveInstanceState(outState)注释掉。 这样你Activity销毁了你也不用保存我Fragment的状态了。

方案3:if(savedInstanceState!=null){

FragmentManager manager = getSupportFragmentManager();

manager.popBackStackImmediate(null, 1);

}判断savedInstanceState不等以null就弹出所有Fragment 全部重新加载。


版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/maple_008/article/details/79977526

阅读更多
个人分类: 解决方案
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Android6.0以上应用在长时间在后台,因为内存不足导致系统回收内存,当再次启动应用出现Fragment重叠或者空白、异常解决方案(提供模拟内存不足导致系统回收内存的方案)。

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭