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

关于activity的启动模式

时间:2016-09-27 20:12:11      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程。而启动模式就决定Activity启动运行方式。

1、设置方式
它是在主配置文件中,Activity标签下的一个属性:android:launchMode=""
2、属性值:
standard (标准,默认)
  如果不设置一个Activity的启动模式,则该Activity默认的启动模式就是standard,该模式下,每次启动一个该Activity都会
实例化一个新的Activity对象,并且放入任务栈中。它们都同属于一个Task

singleTop
见名知意,该模式为栈顶唯一模式。当Activity处于该模式下的时候,当需要启动此Activity时,会先看此Activity的实例是否存在于
任务栈栈顶,如果位于栈顶,则重用该实例,不进行实例化。如果任务栈顶不是该Activity,则创建新的Activity,并且压入任务栈内。


singleTask
此模式为栈内唯一模式,此模式与栈顶唯一模式不同在于,栈顶唯一模式只看栈顶是否是我们要启动的Activity,而栈内唯一模式要看我们要
启动的Activity是否位于整个栈内,从上到下检查,若存在,则将该Activity回到栈顶,即将该Activity上面所有的Activity进行出栈操作,
进行销毁,这样我们需要的Activity将回到栈顶,得到焦点,与用户进行交互。

singleInstance
此模式为单一实例模式。处于这种模式下的Activity被启动时,先检测是否有存放该Activity的任务栈,若有则复用相应的Activity,若没有,创建
新的Activity并放入一个新的任务栈,每个任务栈中只存放一个Activity对象,不可能存在其它Activity对象,处于这种状态下的Activity对象不存在
回退窗口。


总之,在Android 开发中,合理运用Activity的启动模式,将大大节省系统内存开销,提高运行效率。

 

关于activity的启动模式

标签:

原文地址:http://www.cnblogs.com/yangxiu/p/5914025.html

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