Android launchMode的使用
2017-01-08 10:49
253 查看
android:launchMode有四种值,下面我把自己的理解进行整理加以说明并再次巩固。
首先,android:launchMode属性值是写在清单文件里面的,它是指定某一activity该以什么样的形式打开
standard:有道上翻译过来是标准的,它是系统默认的启动模式,它会每次都创建一个新的activity实例并且放在栈的顶部,就相当于点击一个新的activity时它会将原来的那个activity覆盖,如果你想后退就需要一直点才能行,也就是你原先点了多少下现在后退就要点多少下
singleTop: 当它位于栈顶部的时候它就不能再被创建新的activity了
singleTask:单一任务的 ;和singleTop有一个相似的地方是当它位于栈顶时就不会再创建一个新的activity实例了,但是也有不一样的地方,那就是假如有A、B两个activity,B设置了launchMode="singleTask",那么当我打开的顺序为A-->B-->A-->A-->B时,如果要后退的话,就不会像standard那样依次退出,而是它会直接找到最开始的那个B,然后直接从那里退出
singleInstance:单一实例,鼠标每点一个则绘制一个物体; 它会启动一个新的栈结构,将activity存放在这个新的栈中,并且保证不会再有其他的activity实例进入,点击它时它就位于原来的栈之前,直到有其他的activity被点击
这里我没有使用图例来说明,如果觉得还是不够详细的话请点击这里
首先,android:launchMode属性值是写在清单文件里面的,它是指定某一activity该以什么样的形式打开
standard:有道上翻译过来是标准的,它是系统默认的启动模式,它会每次都创建一个新的activity实例并且放在栈的顶部,就相当于点击一个新的activity时它会将原来的那个activity覆盖,如果你想后退就需要一直点才能行,也就是你原先点了多少下现在后退就要点多少下
singleTop: 当它位于栈顶部的时候它就不能再被创建新的activity了
singleTask:单一任务的 ;和singleTop有一个相似的地方是当它位于栈顶时就不会再创建一个新的activity实例了,但是也有不一样的地方,那就是假如有A、B两个activity,B设置了launchMode="singleTask",那么当我打开的顺序为A-->B-->A-->A-->B时,如果要后退的话,就不会像standard那样依次退出,而是它会直接找到最开始的那个B,然后直接从那里退出
singleInstance:单一实例,鼠标每点一个则绘制一个物体; 它会启动一个新的栈结构,将activity存放在这个新的栈中,并且保证不会再有其他的activity实例进入,点击它时它就位于原来的栈之前,直到有其他的activity被点击
这里我没有使用图例来说明,如果觉得还是不够详细的话请点击这里
相关文章推荐
- Android Realm数据库开发探索(一)
- Android和html5交互
- Android中pendingIntent的深入理解
- Android 属性动画和View动画的特别之处
- fragment预加载问题
- android复习路之字符串的处理
- Android中自定义View中的属性(慢慢补充)
- Android中的LinearLayout布局
- Android Studio default not found错误解决办法
- Android开发记录
- android studio 调试 的问题
- Android.mk揭秘系列之初级篇
- 安卓Android之数据加密方法 MD5加密
- Android---日志记录
- 极光推送小米手机不能查看logcat&&通知栏无法正确显示应用图标
- 简单的一个侧边导航栏
- Android开发环境搭建
- 在Ubuntu 16.04下安装Android Studio
- Android工具:被你忽视的Lint
- Android进阶系列--源码分析模板方法模式在AsyncTask的运用