Activity的启动模式

来源:互联网 发布:用网络盒子看电视直播 编辑:程序博客网 时间:2024/06/07 01:05
启动模式在AndroidManifest文件中定义:



standard模式是标准模式,默认情况下系统自动分配standard模式,这种模式下,在同一个返回栈中可以无限创建新的相同的Activity,按返回键时也得一个一个销毁返回栈中所创建的Activity,即使可能所有创建的Activity都一模一样。



singleTop模式是只存在单一栈顶模式,就是当Activity要创建一个新的Activity时,假如这个Activity在栈顶,也就是正在运行,即直接调用栈顶的Activity,无需二次创建。(个人感觉好想没什么卵用==)但是,如果不是栈顶,就又可以无限创建新的相同的Activity啦。按返回键时,返回栈是按照“先进先出”的规则来呈现栈顶的。



singleTask模式是只存在单一返回栈模式,当要创建一个新的Activity时,系统会扫描当前返回栈中是否已经有这个Activity,如果有,会把前面的栈全部出栈,才能把该Activity呈现在栈顶上,出栈相当于销毁Activity。



singleInstance模式是创建一个新的返回栈来给这个Activity,而且这个返回栈只有一个Activity。这样的好处就是其他应用程序也能共享这个Activity。

例如:如果是Activity1创建了启动模式是singleInstance的Activity2,Activity2再创建Activity3,这时候当前运行的返回栈中是Activity3-Activity1,按下返回键界面会从Activity3跳回Activity1而不是跳到之前按顺序创建Activity2,再按下返回键,这个返回栈就没有Activity了,就会跳到下一个含有Activity的返回栈中,即这个Activity2的返回栈,再按下返回键就是退出程序。


0 0
原创粉丝点击