首页 > 代码库 > 关于activity的启动模式
关于activity的启动模式
在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的启动模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。