1.1 Activity 生命周期 - TomeOkin/Learning-Notes GitHub Wiki

Activity 生命周期

生命周期

activity lifecycle

需要特别注意的是:

  • 当用户打开一个新的 Activity 时,如果新的 Activity 采用了透明主题,当前 Activity 不会回调 onStop
  • 当 Activity 不可见后,如果用户再次回到该 Activity 时,回调如下:onRestart -> onStart -> onResume
  • onStartonStop 对应,它们是从 Activity 是否可见这个角度来回调的;onResumeonPause 方法对应,它们是从 Activity 是否位于前台这个角度来回调的。优先级从高到低依次为:前台 Activity;可见但非前台 Activity;后台 Activity。
  • 系统只会在 Activity 即将被销毁并且有机会重新显示的情况下才会去调用 onSaveInstanceState 方法。see
  • 启动一个新的 Activity 时,需要旧的 Activity 的 onPause 先执行后,新的 Activity 的 onResume 才会执行,所以不要在 onPause 里执行耗时操作。
  • 如果要修改 Activity 的窗体大小,需要在 onAttachedToWindow 中进行。

扩展阅读

文章说明

  • 本文主要是在《Android 开发艺术探索》读后总结的基础上加入了一些相关的知识。
  • 上文引用到的生命周期图取自《Android 开发艺术探索》。