美文网首页
1.2 Activity启动模式

1.2 Activity启动模式

作者: 詹徐照 | 来源:发表于2018-03-16 19:00 被阅读5次

    1. Activity LaunchMode

    • standard 标准模式
    • singleTop 栈顶复用模式
    • singleTask 栈内复用模式
      一个栈内只有相同Activity只有一个实例,可以通过TaskAffinity指定栈。TaskAffinity默认是应用包名。
    • singleInstance 单实例模式
      特殊的singleTask,此模式的Activity只能单独的位于一个栈中,所以全局只会有一个Activity。

    举例
    Activity_A,standard,默认栈
    Activity_B,Activity_C,singleTask,指定TaskAffinity com.zxz.task_another
    启动流程及Activity栈状态:

    ->A:[A]
    ->B:[B][A]
    ->C:[CB][A]
    ->A:[ACB][A]
    ->B:[B][A]
    

    2. Activity的Flags

    • FLAG_ACTIVITY_NEW_TASK
      相当于singleTask
    • FLAG_ACTIVITY_SINGLE_TOP
      相当于singleTop
    • FLAG_ACTIVITY_CLEAR_TOP
      singleTask启动模式默认就具有此标记位的效果
    • FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
      等价于在XML中指定Activity的属性android:excludeFromRecents="true"
      具有这个标记的Activity不会出现在历史Activity的列表中,用户无法通过历史列表回到这个Activity

    相关文章

      网友评论

          本文标题:1.2 Activity启动模式

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