Android点击Home键后fragment重新加载问题
来源:互联网 发布:win7ipv6网络访问权限 编辑:程序博客网 时间:2024/06/05 18:50
现象:
同事的手机是OPPO-R9S,这个手机的垃圾回收真是吊炸天,activity中四个fragment,点击home键后再进入,显示退出时候的fragment,在切换其他fragment的时候,像是放在了下面不显示了,其他的手机没有发现这个问题
原因:
找了一些资料看,我觉得应该是,当Fragment长久不使用,系统进行回收,FragmentActivity调用onSaveInstanceState保存Fragment对象。很长时间后,再次打开app,系统恢复保存的Fragment,但是在FragmentActivity重新执行生命周期的时候,我们重新生成了fragment对象附加到该FragmentActivity,系统恢复的fragment和FragmentActivity失去关联,进而出错。
解决:
@Override
protected void onSaveInstanceState(Bundle outState) {
// super.onSaveInstanceState(outState);
}
管你保存什么,都直接创建fragment
这个方法是在onPause方法之前被调用的,因此如果一旦执行onpause,就会保存当前的状态信息,如果注释掉对应的方法则不会保存状态信息,当activity被系统回收的时候,在一个进程中再次启动activity也不会保存之前的状态信息。如在主界面启动了otherActivity,并等待了很久,当需要返回主界面的时候,主界面被销毁了,则时候就会执行oncreate(否则执行onResume),如果onsaveInstance有数据,则加载之前的数据(比如加载之前的fragment),但是此时有创建了新的fragment,于是,缓存的fragment就覆盖
当然这是暴力点,可以借鉴下面的第一条博客,但是比较麻烦,我认为是比较合理的。
借鉴博客:
http://blog.csdn.net/fan7983377/article/details/51889269
http://blog.csdn.net/u014316462/article/details/50190137
http://blog.csdn.net/wangyetongsss/article/details/51790279
- Android点击Home键后fragment重新加载问题
- Android点击Home键后fragment重新加载问题
- 点击home键之后重新进入程序, fragment为null
- android程序按HOME键后,重新点击图标是重起应用程序,而不是之前那个界面
- 广播唤起一个界面A 按home键后 点击应用图标应用重新加载未出现界面A
- 解决home键把程序隐藏到后台后,再次点击应用会重新打开MainActivity问题
- 安卓程序打包运行点击Home键后点击图标重新打开了一个程序
- android程序安装后点击HOME键重启问题
- android 按HOME键后,再点击快捷图标,重新启动的问题
- Android app运行时按HOME键,再次点击图表后从新调用启动页问题
- 关于Android App上线后从应用市场点击打开按钮进入应用后进行操作后,再点击home键到桌面后点击启动图标重新打开应用的解决方法
- android 按Home键退出后点击通知回到应用
- Android 按home键重新创建Activity的问题
- fragment 点击home键在后台一段时间后恢复白屏
- ViewPager+Fragment+ListView重新加载后数据源重复问题的解决方法
- android 平台设置默认home后按home键弹出默认home弹框的问题
- android 从sdcard安装apk,点击home键,出现问题
- android点击home键后,点击图标,重新启动第一个activity
- Java多线程系列--“基础篇”03之 Thread中start()和run()的区别
- HTML空格
- linux-011之stddef.h头文件
- 减慢ListView的滑动速度
- Codeforces Round #411 (Div. 2)总结
- Android点击Home键后fragment重新加载问题
- windows/linux 命令行方式重置mysql的root密码
- 【MySQL/Mariadb】SELECT备忘录
- webstorm破解方法
- 96
- 斯坦福机器学习笔记八
- python rsa 私钥解密
- 分针网—IT教育: 怎么轻松学习JavaScript
- EOS中如何在日志文件中打印SQL语句及参数