当前位置:操作系统 > 安卓/Android >>

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

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

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

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

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

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

1Activity A 的onPause()执行。

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

3Activity A的onStop()被执行(假设A被B完全遮盖)。

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

 

摘自 nkmnkm的专栏
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,