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


一.Standard模式

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

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

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

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

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

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

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

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

二.SingleTop模式(栈顶模式)


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

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

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

三.singleTask模式

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

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

四.singleinstance模式

singleInstance模式加载Activity时,只会创建一个Activity实例,并会使用一个全新的任务栈来装载该Activity实例。特点整给计算机操作系统中只用一个实例存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值