美文网首页
Android启动模式(launchMode)

Android启动模式(launchMode)

作者: 秋灯锁忆 | 来源:发表于2022-04-26 16:00 被阅读0次

    对比:

    类型 含义 说明
    standard 标准模式 每次调用会创建新的实例
    singleTop 栈顶单例 若页面位于栈顶,复用原实例,若不在栈顶,同标准模式相同
    singleTask 栈内单例 每个任务栈仅存在单个实例
    singleInstance 全局单例 在整个应用中仅存在单个实例
    singleInstancePerTask 栈内根单例 每个任务里存在于根部的单个实例

    用法:

    1、 使用AndroidManifest文件
    当您在AndroidManifest文件中声明 Activity 时,您可以指定该 Activity 在启动时如何与任务关联。
    2、 使用 Intent 标记
    当您调用 startActivity()时,可以在 Intent 中添加一个标记,用于声明新 Activity 如何与当前任务相关联。

    注意:启动模式中,Intent 标记优先级>AndroidManifest文件优先级

    跳转:

    第一类:standard/singleTop 最小单元是页面,返回时按照任务栈位置,采用先入后出原则依次出栈;
    第二类:singleTask/singleInstance/singleInstancePerTask,先任务栈->页面,返回时按照任务栈次序,根据栈当前状态,采用先入后出原则依次出栈;


    多栈返回说明

    第三类:使用FLAG_ACTIVITY_CLEAR_TOP移除返回页面上的所有页面;


    参考:https://developer.android.com/guide/components/activities/tasks-and-back-stack

    相关文章

      网友评论

          本文标题:Android启动模式(launchMode)

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