2、Activity启动方式

Activity一共有以下四种launchMode
  • standard
  • singleTop
  • singleTask
  • singleInstance

1、standard

是默认的启动模式,不用为<activity>配置android:launchMode属性即可,当然也可以指定值为standard。
  特点:每次跳转都会在task中生成一个新的Activity实例(不管栈里面原来是否创建过,都会生成新的实例),并且该Acticity实例放于栈结构的顶部。

2、singleTop

需要<activity>指定属性android:launchMode="singleTop"。
  特点:跳转时系统会先在栈结构中寻找要跳转的Activit是否位于栈顶,如果是则不再生成新的实例,直接使用。

3、singleTask

需要<activity>指定属性android:launchMode="singleTask"。
  特点:跳转过程中系统会检查栈中是否有该Activity实例,如果没有就创建。如果有就不再生成新的实例,并且将该Activity之上的Activity实例统统出栈,将本Activity变为栈顶对象,显示到幕前。

4、singleInstance

需要<activity>指定属性android:launchMode="singleInstance"。
  特点:这种启动模式比较特殊,因为它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。

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

推荐阅读更多精彩内容