码迷,mamicode.com
首页 > 其他好文 > 详细

Activity启动模式和任务栈

时间:2014-07-27 10:59:22      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

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启动模式和任务栈

标签:

原文地址:http://www.cnblogs.com/GengZhonghua/p/3870932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!