Android Activity的四种启动模式

一、四种启动模式

  1. 默认是stander
  2. singleTop 栈顶复用
  3. singleTask 栈内复用
  4. singleInstance 单例

二、详解

  1. stander 标准模式。如果启动它的context不是singleInstance,那么它就和启动它的context处于同一个task栈。不管当前task栈里是否已经存在这个Activity的对象。

  2. singleTop,栈顶复用。假设要启动Activity_A。如果启动它的context不是singleInstance,那么它就和启动它的context处于同一个task栈。如果当前task栈的栈顶是一个Activity_A的一个对象,那么复用栈顶的这个对象,如果栈顶的不是,则新建一个Activity_A对象,并进栈。

  3. singleTask 栈内复用。假设要启动Activity_B。如果启动它的context不是singleInstance,并且没有指定taskAffinity参数,那么它就和启动它的context处于同一个task栈。如果当前task栈里存在一个Activity_B的对象,则在此对象栈顶的activity全部出栈,否则新建一个对象并进栈。

4、singleInstance,单例模式,加强版singleTask,并且自己独享栈。

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

推荐阅读更多精彩内容