Android中Activity启动的四种模式
2014-02-19 16:15
501 查看
Android中的Activity有四种启动模式:1、standard,2、singleTop,3、singleTask,4、singleInstance
设置启动模式的位置是在AndroidManifest.xml文件中activity元素的android:launchMode属性。例如:
<activity android:name=".Activity01"
android:launchMode="singleTask">
</activity>
下面来说一下四种模式的用途和区别:
一、standard模式,也就是默认模式,不需要配置launchMode。每次点击跳转键时,就会产生新的实例。点击Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现的,类似退栈操作,刚才操作跳转按钮的过程是压栈操作。
二、singleTop模式,
singleTop和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不 过,singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。还是用刚才的示例,只需将Activity的launchMode改为singleTop,就能看到区别。运行的时候会发现,按多少遍按钮,都是相同的Activity实例,因为该实例在栈顶,因此不会创建新的实例。singleTop模式,可用来解决栈顶多个重复相同的Activity的问题。如果栈顶不是当时需要的Activity,此时就和standard的效果相同了。
三、singleTask模式
singleTask模式和后面的singleInstance模式都是只创建一个实例的。当intent到来,需要创建singleTask模式的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有则直接将intent发送给它,此时原来在此Activity栈中上面的Activity将会被杀死。例如:main-->Activity1-->Activity2-->Activity1,main到Activity1,Activity1到Activity2时,其前面的Activity1会被杀死,Activity2再跳转回Activity1时,Activity2会被杀死,此时栈中只有两个活动:main和Activity1。在Activity1点返回直接退回到main,然后退出。
四、singleInstance模式
(未完待续)
设置启动模式的位置是在AndroidManifest.xml文件中activity元素的android:launchMode属性。例如:
<activity android:name=".Activity01"
android:launchMode="singleTask">
</activity>
下面来说一下四种模式的用途和区别:
一、standard模式,也就是默认模式,不需要配置launchMode。每次点击跳转键时,就会产生新的实例。点击Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现的,类似退栈操作,刚才操作跳转按钮的过程是压栈操作。
二、singleTop模式,
singleTop和standard模式,都会将intent发送新的实例(后两种模式不发送到新的实例,如果已经有了的话)。不 过,singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例。还是用刚才的示例,只需将Activity的launchMode改为singleTop,就能看到区别。运行的时候会发现,按多少遍按钮,都是相同的Activity实例,因为该实例在栈顶,因此不会创建新的实例。singleTop模式,可用来解决栈顶多个重复相同的Activity的问题。如果栈顶不是当时需要的Activity,此时就和standard的效果相同了。
三、singleTask模式
singleTask模式和后面的singleInstance模式都是只创建一个实例的。当intent到来,需要创建singleTask模式的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有则直接将intent发送给它,此时原来在此Activity栈中上面的Activity将会被杀死。例如:main-->Activity1-->Activity2-->Activity1,main到Activity1,Activity1到Activity2时,其前面的Activity1会被杀死,Activity2再跳转回Activity1时,Activity2会被杀死,此时栈中只有两个活动:main和Activity1。在Activity1点返回直接退回到main,然后退出。
四、singleInstance模式
(未完待续)
相关文章推荐
- Android学习历程--Activity的四种启动模式
- android的activity的四种启动模式
- android 启动Activity的四种模式
- Android中Activity四种启动模式和taskAffinity属性详解
- android activity四种启动模式
- Android中Activity四种启动模式和taskAffinity属性详解
- Android之Activity的四种启动模式
- android 小谈activity的四种启动模式
- Android---Activity的四种启动模式
- Android中的Activity四种启动模式(launchMode)
- Android Activity四种启动模式
- android:Activity四种启动模式简介
- Android之Activity的四种启动模式
- Android入门:Activity四种启动模式
- Android开发 Activity的四种启动模式
- Android中Activity四种启动模式和taskAffinity属性详解
- Android中Activity“四种”启动模式+
- 【Android笔记】Activity的四种启动模式
- Android-第三页:Activity的四种启动模式
- [原]深刻理解activity启动模式,彻底理解android的四种启动模式,尤其singleTask