当前位置: 代码迷 >> 综合 >> Android学习笔记(三)Activiy学习——启动模式
  详细解决方案

Android学习笔记(三)Activiy学习——启动模式

热度:13   发布时间:2023-10-31 05:21:08.0

设置一个launchMode

    <activityandroid:name=".SingleTaskActivity"android:label="singleTask launchMode"android:launchMode="singleTask">

1默认为standard

这种模式下,当Intent发送的时候,Activity总是被创建一个新的出来单独工作

2 singleTop

这种模式下,也是创建一个,但是当唯一的区别是如果在栈顶已经有一个相同类型的Activity实例,Intent不会再创建一个Activity,而是通过onNewIntent()被发送到现有的Activity。

3 singleTask

这种模式下,会先查找栈中是否已经实例,如果已经实例了,intent将被通过onNewIntent()发送,将对象重新放在栈顶。如果没有,则会创建一个新的Activity并置放在合适的任务中。(任务栈中只存在一个实例)

4 singleInstance

这种模式同singlInstance差不多,系统中只允许一个Activity的实例存在。区别在于持有这个Activity的任务中只能有一个Activity:即这个单例本身

具体这个没搞懂,不过使用率很低

(三种方式并没有实践过,以后用到会回来补充)

  相关解决方案