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

android开发第三站---Activity和Intent--(1)4种常用Activity启动方式比较

2017-03-23 19:48 369 查看

一.Standard模式

第一种Activity启动模式称为标准模式,是Activity默认的启动模式,在不指定Activity启动模式的情况下。

在Standard模式下,每当启动一个新的Activity时,就需要进入任务栈,并处于栈顶,每次使用Standard模式Activity,每次
4000
使用都需要创建新的实例,因为是标准模式,所以被应用于绝大多是应用场景中

用栈原理解释:例如如图为一个简单的按钮点击事件,点击ToFIRST按钮返回当前页面



当我点击三次按钮,意图过滤器中显示如下



发现在原来启动的基础上显示了三个不同的地址(进了三次占),

当我退出模拟器是需要点击3次才能返回主界面,此时发现过滤器



此时我们发现在过滤器中新增了三次地址(返回了三次)

缺点:在使用中,同一个页面可能被重复打开多次,使用麻烦,用户体验差

二.SingleTop模式(栈顶模式)

与standard相似,解决了activity在栈顶时需要重复创建同一个实例的问题

即 解决了用户体验问题,避免已经被打开的页面被重复打开多次

特点:便于开发者进行栈顶操作,但非栈顶与standard模式无异

三.singleTask模式

当activity启动模式为singleTask模式时,每当启动该Activity时,系统首先会检查栈中是否有该activity实例,如果发现已存在Activity实例,会直接使用该实例,并将该实例之上的所有Activity出站,若没有则创建新实力。

应用领域:资源开销(内存占用,CPU占用)非常大的使用该模式,例如浏览器打开已给网页(html解析器、渲染器、css解析器、Javascript执行引擎)都是由BrowseActivity处理的,为了保证打开的每一个网页都是同一个BrowseActivity处理的,也就是在整个应用状态中只允许一个实例存在。

四.singleinstance模式

singleInstance模式加载Activity时,只会创建一个Activity实例,并会使用一个全新的任务栈来装载该Activity实例。特点整给计算机操作系统中只用一个实例存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐