Activity四种启动模式2
一:Standard的启动模式
成都创新互联专注于企业营销型网站、网站重做改版、庆元网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站制作、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为庆元等各大城市提供网站开发制作服务。
Standard是默认的模式每开始一个activity,就会在栈中加一个activity,相同的也会加,
所以加多少个,就要按多少次返回键才能回到最初的界面
二:singleTop的启动模式
1.清单配置:
android:name="com.itcode.taskstack.SecondActivity" android:label="@string/_second" android:launchMode="singleTop">
Singletop:如果任务栈的栈顶已经存在这个activity的实例,
不会创建新的activity,而是利用旧的activity实例
调用 旧的activity的onNewIntent()方法
2.作用:
避免一个糟糕的用户体验,如果这个界面已经被打开且在任务栈的栈顶,就不会重复开启了
三:Singletask的启动模式:
1.Androidfest配置:
android:name="com.itcode.taskstack.SecondActivity" android:label="@string/_second" android:launchMode="singleTask">
2.作用:
singletask的启动模式:在任务栈里面只允许一个实例存在,假如02是singletask,
栈里是:01 02 01 03 若此时开启02,则会复用这个已经存在的activity,并且把当前activity上面其他的activity从任务栈里清空!
3.应用场景:
浏览器:底层使用的是webkit c 内核,初始化一次需要申请很多的内存资源,占用cpu时间
所以使用singletask,保证在任务栈里只会有一个实例存在
四:singleInstance的启动模式(相当于实例):
1.Androidfest的配置:
android:name="com.itcode.taskstack.SecondActivity" android:label="@string/_second" android:launchMode="singleInstance">
2.特点:
singleInstance的启动模式更加极端,
开启新的activity,会给自己创建一个单独的任务栈
3.应用场景:
在整个手机操作系统里面只会有一个该activity的实例存在,
所以多个应用程序共享这个activity的实例,有线程安全问题!
本文题目:Activity四种启动模式2
链接URL:http://ybzwz.com/article/pcipdh.html