您的位置:首页 > 移动开发 > Android开发

Android Activity的LaunchMode

2015-10-20 18:39 330 查看
一共有四种模式:

standard

SingleTop

SingleTask

SingleInstance

启动模式,顾名思义就是说你在启动Activity的时候会有不同。(不同地方为 是否新建立实例 是否放在一个新的栈里)

是否创建新的实例是 否放在新的栈里

standard 任何时候启动都创建新的Activity的实例 还是放在应用启动时原来的栈里

singletop 创建时,看栈顶是不是要创建的的栈,如果是,就 还是放在应用启动时原来的栈里

不创建新的实例,直接引用,如果不是,那就创建

新的实例。

singletask 创建时,检测整个栈里是否有要创建的栈,如果有, 还是放在应用启动时原来的栈里

把这个栈里要启动的实例放在栈顶,原来的activity

全部销毁。

singleinstance 创建时,看整个系统里有没有一个栈只有这么一个实例的。 在一个新的栈里。

有的话,直接引用,没有的话创建一个新的栈放置这个

Activity且只有这个。

设置启动模式可以有两种办法,一在manifest.xml 的<Activity></Activity>标签里设置,而是根据intent的flag来进行设置。intent的flag有 Intent.FLAG_ACTIVITY_NEW_TASK

FLAG_ACTIVITY_SINGLE_TOP ,FLAG_ACTIVITY_CLEAR_TOP,FLAG_ACTIVITY_NO_HISTORY

(貌似没咋用过,面试一直问,蛋疼、、、)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: