美文网首页
简述Activity 的启动模式、生命周期

简述Activity 的启动模式、生命周期

作者: hellogoogle | 来源:发表于2020-09-14 14:15 被阅读0次

    面试的时候,经常会被面试官问到,说一下Activity 的启动模式?Activity的生命周期都有那些?如果一个 Activity 跳转另一个 Activity 再按下Home 键再回到Activity 的生命周期又是什么样的?

    一、启动模式

     Standard 模式:Activity 可以有多个实例,每次启动 Activity,无论任务栈中是否已经有这个 Activity 的实例,系统都会创建一个新的 Activity 实例

    SingleTop 模式:当一个 singleTop 模式的 Activity 已经位于任务栈的栈顶,再去启动它时,不会再创建新的实例,如果不位于栈顶,就会创建新的实例

    SingleTask 模式:如果 Activity 已经位于栈顶,系统不会创建新的 Activity 实例, 和 singleTop 模式一样。但 Activity 已经存在但不位于栈顶时,系统就会把该Activity 移到栈顶,并把它上面的 activity 出栈

    SingleInstance 模式:singleInstance 模式也是单例的,但和 singleTask 不同,singleTask 只是任务栈内单例,系统里是可以有多个 singleTask Activity 实例的, 而 singleInstance Activity 在整个系统里只有一个实例,启动一singleInstanceActivity 时,系统会创建一个新的任务栈,并且这个任务栈只有他一个 Activity

    二、生命周期

    onCreate onStart onResume onPause onStop onDestroy

    三、两个Activity 跳转的生命周期

    1.启动 A

    onCreate - onStart - onResume

    2. 在 A 中 启 动 B 

    ActivityA onPause 

    ActivityB onCreate 

    ActivityB onStart 

    ActivityB onResume

    ActivityA onStop

    3.从 B 中返回 A(按物理硬件返回键)

    ActivityB onPause ActivityA onRestart ActivityA onStart

     ActivityA onResume ActivityB onStop ActivityB onDestroy

    4.继续返回

    ActivityA onPause ActivityA onStop ActivityA onDestroy

    相关文章

      网友评论

          本文标题:简述Activity 的启动模式、生命周期

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