首页 > 代码库 > Android Activity 启动模式
Android Activity 启动模式
启动模式类别
- standard:每次启动
activity
都会创建新的实例对象。activity
可以在多个不同的任务中被实例化多个对象。 - singleTop:如果当前任务栈顶有
activity
的实例对象,则调用onNewIntent()
获取当前实例对象,否则在当前任务栈中实例化新对象。 - singleTask:任务栈的只有一个
activity
实例对象,如果已存在activity
实例对象则调用onNewIntent()
获取当前实例对象。 - singleInstance:由系统创建新的任务栈并维护唯一的
activity
实例对象
定义启动模式
配置manifest文件:定义标签的launchMode属性值(
standard,singleTop,singleTask,singleInstance
),默认值是standard
。设置Intent的flag变量:设置Intent的flag字段值(
FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_SINGLE_TOP,FLAG_ACTIVITY_CLEAR_TOP
)FLAG_ACTIVITY_NEW_TASK
:standard启动模式FLAG_ACTIVITY_SINGLE_TOP
:singleTop启动模式FLAG_ACTIVITY_CLEAR_TOP
:如果当前任务栈中已有activity
实例对象,则清空上面的其他activity并调用onNewIntent()
激活此实例对象
清空任务栈
默认情况下,当某一任务长时间不使用时,Android系统会情况当前任务中除了跟activity之外的所有activity。
- alwaysRetainTaskState:当任务栈的跟activity的属性值设置true后,即使长时间离开某一任务,系统依然保留所有activity
- clearTaskOnLaunch:当任务栈的跟activity的属性值设置true后,用户离开此任务后,就会清空此任务栈中的所有activity
- finishOnTaskLaunch:正对当前activity有效,当用户离开此任务后,此activity不在恢复离开前的状态
Android Activity 启动模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。