开发过程中,页面使用fragmentactivity,可能会遇到这样的问题
应用放置于后台,前台应用使用资源过多,手机默认会回收一些优先级低应用的资源
这样当我们的应用回到前端的时候,可能会因为资源被回收,引起异常,
导致fragment显示错乱。
查了差相关资料以及别人的帖子,
有一个简单的解决方法,
在activity中重写
方法中注释掉
ok了。
原理呢,大致是这样的:
当Activity资源被回收前,会调用“onSaveInstanceState”这个方法保存相关的对象等资源
而
重新加载activity的时候默认的是不重新加载内嵌的fragment.
直接导致fragmnet页面错乱的问题。
如果我们不调用父类的方法,等于重新加载activity和它的子fragment,避免了因为资源被回
收导致fragment错乱的问题。
应用放置于后台,前台应用使用资源过多,手机默认会回收一些优先级低应用的资源
这样当我们的应用回到前端的时候,可能会因为资源被回收,引起异常,
导致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错乱的问题。