码迷,mamicode.com
首页 > 移动开发 > 详细

android activity 启动模式

时间:2018-07-18 14:17:34      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:四种   选择   启动模式   实例   stand   而且   不同的   and   总结   

android activity 启动模式

android 开发中,activity的启动模式有以下四种

standard

singleTask

singleInstance

singleTop

standard

标准启动模式,默认的,每次打开这个activity,都会创建一个新的实例添加到acitivty栈里。

singleTask

在同一个activity栈中只存在一个这个activity的实例,如果已经存在栈顶了,就不会创建新的了,如果不存在栈顶就会把在它上面的所有activity的实例出栈,将自己处于栈顶位置。

singleInstance

这个属于单例的情况,它不仅仅是在当前的activity栈内是单例的,而且也是全局单例的,当activity被标记为singleInstance的时候,本来启动它的activity在activity栈A中,当启动了它时,会创建一个新的activity栈B,把它的实例放在activity栈B中去

singleTop

singleTop的启动模式和standard非常类似,区别就是在当前的activity栈里,如果已经有一个这个activity的实例,并且处于栈顶位置,就不会创建新的这个activity的实例,但是如果不再栈顶,就会创建一个新的这个activity实例,并添加到栈顶,并不会影响之前创建的这个activity的实例。在当前的任务栈中如果没有这个activity的实例,就会创建一个,并添加到栈顶。

总结

在开发过程中,针对不同的activity页面,需要考虑不同的需求场景选择不同的启动模式,以达到最佳的用户体验。

发现的一些类似任务栈使用不当的案例

在早期的微信版本中,点击朋友圈可以打开2个或者多个(只要你手速够快,手机响应有够慢)朋友圈的页面。

android activity 启动模式

标签:四种   选择   启动模式   实例   stand   而且   不同的   and   总结   

原文地址:https://www.cnblogs.com/android-lol/p/9328283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!