切换语言Fragment被回收

Android2019年7月30日 pm7:14发布1年前 (2023)更新 3xcn.com@站长
0 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、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
广告也精彩

相关文章

广告也精彩

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...

网站升级中

公告

近期网站升级中,可能存在一些bug。欢迎反馈 https://www.91es.com/we.html

本站域名

本站域名 : 91es.com3xcn.com。本站邮箱 : 站长邮箱 i@oorr.cn,通知邮箱we@oorr.cn ,如有更新,请看公告 。