android activity详解四:保存activity的状态的更多事项

处理系统配置变化

很多设备可以在运行时改变系统配置,比如屏幕方向,键盘布局以及语言等。当类似的变化发生时,系统会把运行的activity重启(调用onDestroy(),然后调用onStart(),――哦~,没有调用onRestart()),如果你的activity能跟据这些变化做出相应的处理,那么你的程序将更稳定可爱。

那么如何应付这些变化呢,最好的办法就是写好状态保存/恢复方法们。比如onSaveInstanceState(),onRestoreInstanceState()/onCreate()

对于系统配置改变的详细信息以及基体应对方法,请观“处理运行时配置变化”一节。

协调activity

当一个activity启动另一个时,两者都在走生命周期。如果这两个activity之间要共享数据,那么重点要理解当第二个activity被创建时,第一个activity还没有执行到onStop()。开始新一个和结束前一个之间有交集。

activityA启动ActivityB时,会按以下顺序执行:

1Activity A onPause()执行。

2Activity BonCreate(),onStart(),onResume()依次执行(此时actvityB具有用户焦点)。

3Activity AonStop()被执行(假设AB完全遮盖)。

你应跟据这个顺序来管理两者之间的数据传递。比如,如果A要向数据库中写入数据,要保证B在初始化时能读到A写入的完整数据,那么A应在onPause()方法中写入数据,而不能在onStop()中写入。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值