Android--Activity篇之启动模式
来源:互联网 发布:mac os 9.2.2中文版 编辑:程序博客网 时间:2024/06/14 13:26
Android--Activity篇之启动模式
Activity的启动模式:
定义在AndroidManifest.xml 中,
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity <span style="color:#cccccc;"> </span><span style="background-color: rgb(255, 153, 0);">android:launchMode="standard"</span> android:name="com.example.androidstudy.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
共分为四种启动模式:standard、singleTop、singleTask、singleInstance。
默认的启动模式为 standard。表示如果每次如果有一个Intent指向 standard 的启动模式的activity,就会被创建实例化,进入栈顶。
如图,Activity 的 由A -》 B 后,再去启动B,得到的Log是
INFO/LanchModel(2281): ActivityA
INFO/LanchModel(2281): ActivityB
INFO/LanchModel(2281): ActivityB
启动模式设置为 singleTop :表示如果栈顶是该Activity,则直接使用该实例。
本例将ActivityB 的LanchModel 设置为 android:launchMode="singleTop" 则启动的Log为
INFO/LanchModel(2415): ActivityA
INFO/LanchModel(2415): to ActivityB
INFO/LanchModel(2415): ActivityB
INFO/LanchModel(2415): to ActivityB
由此当ActivtiyB 调用ActivityB的时候,由于B是出于栈顶的位置,所以没有重新创建实例,而是直接使用该栈顶的实例。
启动模式设置为 singleTask:表示如果在栈中存在该实例,则将其返回到栈顶,将其上面其他的活动销毁、出栈,执行ondestroy。
调用顺序 A-》B-》C-》-》A-》B
此时栈的顺序为
执行的Log顺序为
启动模式设置为 singleInstance:表示独立启动一个任务栈。
启动顺序为 A-》B-》C 然后 点返回 再点返回
结果为
当A启动B时,由于B的启动模式为singleInstance,将会启动一个新的栈,当从栈b启动C时,C位于栈a的顶,所以当C返回时,会先返回到A,再点击返回时,才会返回到栈b中的B
- Android--Activity篇之启动模式
- Android Activity之启动模式
- Android 之Activity启动模式之 lauchMode
- android学习之-activity的启动模式
- Android之Activity的启动模式
- Android开发之Activity四大启动模式
- android之activity四大启动模式
- Android总结之Activity启动模式
- Android之activity的启动模式
- Android开发之Activity的启动模式
- Android基础之Activity四大启动模式
- android-activity之启动模式singleInstance
- android-activity之singleTask启动模式
- android-activity之singleTop启动模式
- Android总结之Activity启动模式
- Android四大组件之Activity--启动模式
- Android基础之Activity启动模式
- android:Activity启动模式之standard
- java的final关键字
- Attribute(一)——预定义特性
- Java线程:新特征-阻塞栈
- plsql 不锁表更新内容
- JDBC连接数据库
- Android--Activity篇之启动模式
- Java反射机制的学习
- Python基础4--切片
- LTE物理层信道编码--信息编码--咬尾卷积编码
- Android Application Task Activities的关系
- svn在linux下的使用(svn命令行)删除 新增 添加 提交 状态查询 恢复等操作
- Synaptics操作指南
- svn import usage and not import .so file
- make编译时libopencv_highgui.so:undefined reference to `TIFFIsTiled@LIBTIFF_4.0'