Android启动模式(launchMode)


对比:

类型 含义 说明
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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容