Android 进阶(1) - Activity 生命周期 上

各位新年快乐!偶然的机会,我进入了另外一种生活。2016年才开始稍微认真地更新一下文章,幸好一直有几位朋友的支持。新的一年,新的开始,新的尝试,于是有了 Android 进阶系列。这是我学习《Android 开发艺术探索》后整理的笔记,我会一边学习一边记录。

Activity 的生命周期分为正常情况下的生命周期,以及异常情况下的生命周期,两者略有不同。上篇是正常情况,下篇是异常情况。

Android 进阶(1) - Activity 生命周期 上_第1张图片
Activity 生命周期(正常情况)

正常情况下,Activity 的常用生命周期只有图中的7个:onCreate、onStart、onResume、onRestart、onPause、onStop、onDestroy。

Activity 启动后,会调用 onCreate 创建 Activity ,然后调用 onStart 来准备 Activity 的显示,接着调用 onResume 把 Activity 显示在前台。这时 Activity 处于运行状态,下面称其为原 Activity。如果原 Activity 运行中有新的 Activity 启动,原 Activity 会调用 onPause。onPause 执行完后,新 Activity 才会调用 onResume。如果用户按 HOME 键返回桌面或者启动一个新的 Activity,再返回原 Activity,就会调用 onRestart。

  • onCreate 和 onDestroy 是配对的,分别表示着 Activity 的创建和销毁,只可能有一次调用。
    1.onCreate 表示 Activity 正在被创建,是 Activity 生命周期第一个回调方法。
    2.onDestroy 表示 Activity 即将被销毁,是 Activity 生命周期最后一个回调方法。

  • onStart 和 onStop 是配对的,这两个方法可能会被多次调用。
    1.onStart 表示 Activity 已经在后台准备好显示在前台,但还没显示在前台。
    2.onStop 表示 Activity 即将停止。

  • onResume 和 onPause 是配对的,这两个方法可能会被多次调用。
    1.onResume 表示 Activity 已经显示在前台。
    2.onPause 表示 Activity 正在停止,Activity 为不可见状态,之后会调用 onStop。注意:onPause 执行完后,新 Activity 的 onResume 才会执行。

  • onStart 和 onResume 的差异。
    onStart 和 onResume 都表示 Activity 已经显示出来,但 onStart 还没显示在前台,而 onResume 已经显示在前台。

  • onPause 和 onStop 的差异。
    onPause 和 onStop 都表示 Activity 停止,但 onPause 在 Activity 进入后台并且并未被销毁时调用,而 onStop 在 Activity 不再呈现给用户时调用。调用 onStop 后,Activity 处于挂起状态,要么唤醒,要么销毁。

笔者水平有限,请使劲评论。

你可能感兴趣的:(Android 进阶(1) - Activity 生命周期 上)