1.1 Activity 生命周期 - TomeOkin/Learning-Notes GitHub Wiki
Activity 生命周期
生命周期
需要特别注意的是:
- 当用户打开一个新的 Activity 时,如果新的 Activity 采用了透明主题,当前 Activity 不会回调
onStop
。 - 当 Activity 不可见后,如果用户再次回到该 Activity 时,回调如下:
onRestart -> onStart -> onResume
。 onStart
和onStop
对应,它们是从 Activity 是否可见这个角度来回调的;onResume
和onPause
方法对应,它们是从 Activity 是否位于前台这个角度来回调的。优先级从高到低依次为:前台 Activity;可见但非前台 Activity;后台 Activity。- 系统只会在 Activity 即将被销毁并且有机会重新显示的情况下才会去调用
onSaveInstanceState
方法。see - 启动一个新的 Activity 时,需要旧的 Activity 的
onPause
先执行后,新的 Activity 的onResume
才会执行,所以不要在onPause
里执行耗时操作。 - 如果要修改 Activity 的窗体大小,需要在
onAttachedToWindow
中进行。
扩展阅读
- xxv/android-lifecycle 详细完整的生命周期图
- 之前自己做的生命周期图 目录里有对应的 ddd 文件,有什么问题欢迎指出
- Android应用程序窗口(Activity)的视图对象(View)的创建过程分析
- onAttachedToWindow()在整个Activity生命周期的位置及使用
- 视图状态保存的正确方式
文章说明
- 本文主要是在《Android 开发艺术探索》读后总结的基础上加入了一些相关的知识。
- 上文引用到的生命周期图取自《Android 开发艺术探索》。