使用Fragment应用放置后台很久再次进入出现程序奔溃
问题:
应用中存在Activity嵌套,Fragment,当应用长时间切换到后台的时候,会有可能因为系统内存不足回收应用Activity占用的内存,这时候再次进入应用,出现各种例如空指针、闪退等问题;
原因:
当Fragment长久不使用,系统进行回收,FragmentActivity调用onSaveInstanceState保存Fragment对象。
Activity可能会被系统回收,然后Fragment并不会随着Activity的回收而被回收,从而导致,Fragment丢失对应的Activity。
很长时间后,再次打开app,系统恢复保存的Fragment,但是在FragmentActivity重新执行生命周期的时候,我们重新生成了fragment对象附加到该FragmentActivity,系统恢复的fragment和activity失去关联,进而出错。
解决方法:
方案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 全部重新加载
使用Fragment应用放置后台很久再次进入出现程序奔溃相关推荐
- 关于咕咕了很久的微信小程序
书读百遍,其义自见 每次都是半途而废,这次我想和大学里面的同伴一起,在这个寒假结束之前把小程序拿下,将记录我从0到有完成一个项目的学习过程,每日的学习总结将以.学习过程的记录文章的标题将以**[输出] ...
- Java多线程的11种创建方式以及纠正网上流传很久的一个谬误
创建线程比较传统的方式是继承Thread类和实现Runnable,也可以用内部类,Lambda表达式,线程池,FutureTask等. 经常面试会问到继承Thread类和实现Runnable的区别,然 ...
- 一个祸害我很久的东东——事件过滤器之按键触发
一个祸害我很久的东东--事件过滤器之按键触发 下面这个东东其实很常见,也很实用,平时上网的时候对之经常见,以为很简单,当然弄懂后,其实发现,他确实蛮简单的,但就是这小东西害了我好久好久啊.... 就是 ...
- nginx php如何无响应,nginx,_nginx 可以直接响应服务静态页面吗, 为何配置了很久都不成功?,nginx - phpStudy...
nginx 可以直接响应服务静态页面吗, 为何配置了很久都不成功? 背景: 最近想自己写点东西放到网上, 买了域名和vps, 在vps上也搭好了ngxin服务器,想从最简单的静态页面开始,于是自己写了 ...
- 为什么服务网页打开需要很久,点击之后计算机在处理什么,为什么我打开电脑桌面全部显示出来后要等很久才能打开连接.doc...
为什么我打开电脑桌面全部显示出来后要等很久才能打开连接 重启路由器的方法:在网址栏输入默认网关(如192.168.1.1),进入页面用户名及密码均为admin,然后点路由器输入宽带的用户名和密码.一. ...
- 为什么在 Google Play 发布应用很久了下载量却很少?
很多应用发布了很久依然搜索不到,大家知道发布到 Google Play 之后有一个月的推荐时期,但是如果应用的需求量本身不是很大或者 ASO 做的太差也不会被搜索到,关注我的应该都是个人开发者,大多数 ...
- 正在配置计算机好久了,准备配置windows请勿关闭计算机要多久_准备配置请勿关机很久...
最近很多老师在搜集关于准备配置windows请勿关闭计算机要多久的解答,今天缑编为大家精挑5条解答来给大家解析! 有87%高手认为准备配置windows请勿关闭计算机要多久_准备配置请勿关机很久值得一 ...
- 珍藏很久的9个网站,再舍不得也得分享出来
前言 小编自己有一个网购省钱机器人,平时网购可以省点钱,如果你愿意支持我可以扫码使用,首次添加赠送红包一个,福利多多,朋友圈经常更新各种羊毛活动,一起薅羊毛. 正文 昨天是小编生日,谢谢各位的留言祝福 ...
- 台式计算机欢迎界面下不去,电脑开机时卡在欢迎界面很久如何解决
电脑开机时卡在欢迎界面很久如何解决 今天给大家介绍一下电脑开机时卡在欢迎界面很久的具体解决方法. 1. 打开电脑,进入桌面,按键盘上的win+R组合键,调出运行窗口,在窗口中,输入"msco ...
最新文章
- linux自学笔记--nginx基本配置
- 大概率有料的地方,大概率没有料的地方
- win10 sshsecureshellclient删除profile保存的信息
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_4_解决线程安全问题_同步代码块...
- php paypal ipn返回验证,Paypal IPN检测退款,PHP
- 代码:小波包分解与重构、小波包能量特征提取
- arcgis拓扑与修复
- 微型计算机控制系统的硬件组成
- 实对称矩阵一定可以相似对角化
- ip ,子网掩码, 网关 ,主机位数,网络位数,子网数
- Ionic3 Demo
- 计算机用户名显示TEMP,win10只要打开ie桌面出现temp文件夹如何解决
- 我爱淘二次冲刺阶段3
- 网站页面代码优化的方法有哪些呢?
- Android与HEIF格式图片适配方法
- Android Binder学习指南
- 大学生开学必备物品清单男生2022 大学生开学必备物品男生
- mysql设置值班表_简单的员工轮换值班表
- Android_Mms源代码接受短信流程
- mj-trace 代码分析