本文共 646 字,大约阅读时间需要 2 分钟。
一共有四种模式: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
(貌似没咋用过,面试一直问,蛋疼、、、)
转载地址:http://nvdqi.baihongyu.com/