这个最近在项目中遇到,摘抄于此。
开发过程中,页面使用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错乱的问题。
历史上的今天
暂无评论...
随机推荐
Android View相关摘抄
前言介绍Android的View的相关知识(主要来自《Android进阶之光》),之前记录的,附在这里方便自己查询。正文View的继承关系ViewGroup作为View或者ViewGroup这些组件的容器, 派生了多种布局控件子类, 比如LinearLayout、 RelativeLayo...
[摘]Android如何设置TextView的行间距、行高。
在Android系统中TextView默认行间距比较窄,不美观。我们可以设置每行的行间距,可以通过属性android:lineSpacingExtra或android:lineSpacingMultiplier来做。修改行间距、行高你可以使用如下TextView属性1、android:lin...
修改Android系统时间设置到2099
前言修改Android支持的时间大于2037。系统时间限制默认是Int(有符号32位,最大0X7FFFFFFF)最大值即为: Integer.MAX_VALUE = 0X7FFFFFFF=2147483647 = 2038-01-19 11:14:07。个人流水账而已。正文将RTC时间限...
[摘]Android横屏和竖屏的方法
前言本文摘抄,方便自己查阅。正文AndroidManifest.xml配置在指定的要设置的Activity对应的标签中加入android:screenOrientation相关属性。unspecified:默认值 由系统来推断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的...
沈从文:寂寞的长街,并不寂寞
有个小小的城镇,有一条寂寞的长街。那里住下许多人家,却没有一个成年的男子。因为那里出了一个土匪,所有男子便都被人带到一个很远很远的地方去,永远不再回来了。他们是五个十个用绳子编成一连,背后一个人用白木梃子敲打他们的腿,赶到别处去作军队上搬运军火的案子的。他们为了“国家” 应当忘了“妻子”。大清...
Android app换肤简单记录
前言记录一下换肤的思路,方便自己查阅正文Android换肤已经烂大街了,很多大厂应用都做了,比如QQ、网易云、哔哩哔哩等,这些都是需要VVIP才可以体验的。这里推荐GitHub开源的而且很受欢迎的Android-skin-support,很强大。下面我就整理一下我对换肤的简单理解。换...