切换语言Fragment被回收

Android2019年7月30日 pm7:14发布5年前 (2019)更新 91es.com站长
45 0 0

这个最近在项目中遇到,摘抄于此。

开发过程中,页面使用fragmentactivity,可能会遇到这样的问题应用放置于后台,前台应用使用资源过多,手机默认会回收一些优先级低应用的资源。这样当我们的应用回到前端的时候,可能会因为资源被回收,引起异常,导致fragment显示错乱。 查了差相关资料以及别人的帖子, 有一个简单的解决方法, 在activity中重写

@Override
protected void onSaveInstanceState(Bundle outState) {
    // super.onSaveInstanceState(outState);
} 

方法中注释掉

super.onSaveInstanceState(outState);  

ok了。

原理呢,大致是这样的:

当Activity资源被回收前,会调用“onSaveInstanceState”这个方法保存相关的对象等资源 ,而

super.onSaveInstanceState(outState);  

调用父类的方法, 重新加载activity的时候默认的是不重新加载内嵌的fragment。直接导致fragmnet页面错乱的问题。

如果我们不调用父类的方法,等于重新加载activity和它的子fragment,避免了因为资源被回收导致fragment错乱的问题。

 历史上的今天

  1. 2024: git config时fatal not in a git directory(0条评论)
  2. 2023: JNI之List集合(0条评论)
  3. 2022: [摘]NDK错误记录:NDK is missing a platforms directory.(0条评论)
  4. 2021: 聂鲁达:我喜欢你是寂静的(0条评论)
  5. 2020: [摘]音视频学习系列第(三)篇---wav文件的存储和解析(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com[备用域名]
3、 本站内容: 部分来源于网络,仅供站长学习和参考,若侵权请留言

暂无评论

暂无评论...

随机推荐

MARK MANSON:年近30的十条人生经验

马上开始为退休做储蓄,不要以后我有不顾一切的20多岁,但到了30多之后,你应该在财务上有个重大推进。退休计划不是什么可以推迟的东西。当保险、401ks和贷款都落到你肩膀上时,尝试理解那些无聊的玩意儿就变得很重要。好好学一下。从现在开始关注你的健康,不要以后你心理上对年龄的接受力比身体的衰老要滞...

git config时fatal not in a git directory

前言最近通过git config修改邮箱和密码是出行如下异常提示:fatal: not in a git directory记录一下,方便自己查阅正文之前使用git config时也没有出行这样的问题,但最近在客户的虚拟机中折腾就出现了。常用命令git config --listg...

Android ACTION_MEDIA_BUTTON的监听

前言这里记录一下普通应用监听MediaButton的使用。正文直接上代码,下面代码是测试过的。当获取到焦点时,调用registerMediaButton,丢失焦点时unRegisterMediaButton隐藏内容!付费阅读后才能查看!¥3多个隐藏块只需支付一次付费阅读参考文章《...

Android切换语言记录

前言记录一下Android语言切换,网上也很多,这里摘抄于此方便自己查阅正文下面代码都测试过,验证ok方式一private void language(Locale locale) { try { LocalePicker.updateLocale(locale ...

Seekbar的setThumb使用记录

前言记录一下SeekBar代码设置setThumb的使用。正文xml中Seekbar的配置 <SeekBar android:id="@+id/seek_bar_1" android:layout_width="920dp...

丰子恺:渐

不为“渐”所迷,不为造物所欺,而收缩无限的时间并空间于方寸的心中。故佛家能纳须弥于芥子。使人生圆滑进行的微妙的要素,莫如“渐”;造物主骗人的手段,也莫如“渐”。在不知不觉之中,天真烂漫的孩子“渐渐”变成野心勃勃的青年;慷慨豪侠的青年“渐渐”变成冷酷的成人;血气旺盛的成人“渐渐”变成顽固的老头子。因为...