Activity启动模式案例

1,standard 标准
【1】Activity启动模式,不出意外,使用最多的一定是默认的,standard 标准的。但是standard 标准的 这种启动模式,每启动一个Activity 就进栈一个Activity,这样有些情况下是不合理的,我的Activity在最顶端就没有必要,再次启动进栈一个 或者启动进栈多个Activity的引用重复,这样不利于ActivityManager的管理,任务栈Activity引用重复,当点击返回Back操作的时候,体验非常不好;
 
 
 
2,singleTop
【1】在App应用中,在TopActivity会被再次启动或者多次启动的时候,就可以采用singleTop来解决,任务栈Activity引用的重复,利于ActivityManager的管理,让体验更加好等...
 
【2】Android操作系统的 浏览器 书签 Activity的启动模式 就是采用 singleTop
 
【3】每次打开书签只有这一个。
 
 
 

 3,SingleTask
【1】一般情况下,应用程序的主界面(MainActiviy),的启动模式是SingleTask,为什么呢,请看以下图:
【2】 Android操作系统 浏览器的主界面Activity的启动模式就是 singleTask

 
 
4,singleInstance 
【1】singleInstance 单实例,一个Activity被其他方多次调用(如果不用singleInstance,那会很混乱,好几个人打电话过来怎么办,所以需要singleInstance),
            并且这个Activity对性能要求高
 
【2】Android操作系统/package/apps/Phone/AndroidManifest.xml  找到通话界面
 
【3】Android操作系统的 通话界面Activity 同时接听两个电话 就体现了singleInstance的特点
 
【4】singleInstance除了管理Activity界面,不混乱,不多次进栈,等等。还有另外一个原因:(singleInstance会开辟一个新的任务栈,来存放Activity的引用,可以提高性能,正好通话界面非常注重性能,因为通话界面 是去启动硬件猫打电话系列操作)
 
 
5,Android操作系统的应用Phone-->通话界面的启动模式为什么不用标准模式standard ?
答:1.会非常混乱,例如:多个人打电话过来接听,或者在 操作系统的联系人应用中可以看到,在拨打电话的应用也可以看到,任务栈会被进栈多次,管理非常混乱。
  2.standard不会开辟新的任务栈,效率不高,通话界面需要去启动硬件的猫..,很耗时。
 
Android操作系统的应用Phone-->通话界面的启动模式为什么不用独占顶端模式singleTop ?
答:1.无法保证通话界面Activity在顶端,所以会非常混乱,例如:多个人打电话过来接听,或者在 其他应用打开,在拨打电话的应用也可以看到,任务栈会被进栈多次,管理非常混乱。
  2.singleTop不会开辟新的任务栈,效率不高,通话界面需要去启动硬件的猫..,很耗时。
 
Android操作系统的应用Phone-->通话界面的启动模式为什么不用单任务模式singleTask ?
答:1.singleTask单任务模式,会从底端往上找,一旦找到就直接杀到顶端,这是不合理的,不能杀死其他在singleTask之上的Activity。
  2.singleTask不会开辟新的任务栈,效率不高,通话界面需要去启动硬件的猫..,很耗时。
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值