Activity中保存状态和数据

onResume()和onPause()方法是调用比较频繁的,在这两个方法里面一般做很小耗时的操作。

另外:onPause,onStop,onDestory三个方法中,由于onPause方法是Activity创建后最有可能保证执行的方法。

因此,当系统遇到紧急情况需要恢复内存,那么onStop,onDestory可能不被执行,因此你应当在onPause里保存一些至关重要的状态属性,当然你应当有选择性的做一些操作,不能太耗时,如果太耗时,那么其他的activity将不能被创建直到该activity的onPause方法执行完毕并返回。

onSaveInstanceState()方法是有个Bundle参数的,这个方法保存的数据是由系统管理的,当你该activity被杀死,重新访问的时候该Bundle参数会被传入onCreate()方法的Bundle。而在onPause里面保存的数据是可能保存到硬盘去的。

在使用Fragment的页面切换时,可能会出现重影,这是因为当前内存被回收的缘故,但是因为当前页面需要显示,便会重新加载,在系统会自作聪明的重启当前所有的页面,解决这个问题便是需要利用重写onSaveInstanceState()记录当前切换的页面,在内存重启页面再次加载的时候只加载当前页面!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值