Android Activity的LaunchMode

来源:互联网 发布:常州巨人网络招聘 编辑:程序博客网 时间:2024/04/30 17:47
一共有四种模式:

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

(貌似没咋用过,面试一直问,蛋疼、、、)

0 0