首页 > 代码库 > Activity启动模式和任务栈
Activity启动模式和任务栈
android中Activity的启动模式有4中。
- standard
默认模式。每次启动Activity都会创建新的实例,放入到任务栈中。
- singleTop
如果任务栈顶存在该Activity实例,重用之。否则创建新实例并放入栈顶。
- singleTask
如果任务栈中存在Activity实例,重用之,该实例回到栈顶,其上的实例被移除出栈。否则创建新的放入栈中
- singleInstance
在新的任务栈中创建Activity实例。任何应用启动该Activity都会重用这个栈中的实例。一个栈对应一个实例
清理栈
默认情况下,当一个任务栈长期保持在后台。系统将会清除此任务栈中除根Activity(开辟任务栈)外的实例。
<Activity>标签提供了一些属性可以设置
- alwaysRetainTaskState
如果根Activity的此属性设置为true, 系统将不会清理这个任务栈,即便长期保持在后台。
- clearTaskOnLaunch
如果根Activity的此属性设置为true,当任务栈保持在后台,系统将会清除此任务栈中除根Activity外的实例
- finishOnTaskLaunch
此属性作用与单个Activity。当任务栈保持在后台,此属性可以使任务栈清理包括根Activity在内的所有实例
另外,当Intent包含FLAG_ACTIVITY_CLEAR_TOP标志,如果存在该目标实例,目标任务栈中此实例之上的实例将被移除。此实例启动模式为standard时,也将被移除,并创建新的实例。
Activity启动模式和任务栈
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。