美文网首页
Android 进阶(1) - Activity 生命周期 上

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

作者: 谷鸽不爱吃稻谷 | 来源:发表于2017-02-05 22:36 被阅读52次

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

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

    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 生命周期 上

          本文链接:https://www.haomeiwen.com/subject/xhpsittx.html