Activity的launchMode


launchMode之standard
·标准模式,每次激活Activity时均在当前任务栈中创建新的实例。


在配置文件中把activity节点的属性配置为 android:launchMode="standard" (可以不用配置,因为默认是standard)
标准模式特性:
每次激活Activity,
taskid相同(即:表示每次激活Activity,是同一个任务栈,每次点击回退会按照后进先出的顺序出栈)
hashcode每次都不同(表示每次激活一次Activity都会创建一个新的实例)


launchMode之singleTop
·singleTop
·位于栈顶时唯一,如果当前Activity已位于当前任务栈的栈顶,则再次激活该Activity也不会创建新的实例


launchMode之singleTask
·singleTask
(1)独立于任务栈,如果该singleTaskActivity的实例不存在,则激活时会创建并获得栈顶位置。
(2)如果singleTaskActivity的实例已经存在,激活时不会创建新的singTaskActivity实例,且原来已经存在的singTaskActivity上方的Activity均出栈,原来的这个singTaskActivity获得栈顶位置。


一句话就是:singTaskActivity要么不存在要么只有一个实例,激活时,肯定在栈顶位置,前面若有Activity时会被“挤”出站(被销毁)


launchMode之singleInstance(单例的)
·singleInstance
·实例唯一,无论哪个Task,共享同一个Activity的实例。
·该Activity有独立的Task(独占一个Task),且在Task中唯一,由该Activity激活的其它Activity归属于其它Task


singleInstance与taskAffinity


由被配置为singleInstance的Activity激活的其它Activity,会尝试放在
存在“亲属”关系的Task中,如果没有匹配的Task存在,则会创建新的Task存放被激活的Activity。

更多相关文章

  1. Android(安卓)SurfaceFlinger中的SharedClient
  2. 用 Xamarin for VS 创建 aar 文件的绑定
  3. android开源项目之OTTO事件总线(一)
  4. 「React Native」安卓从零搭建RN项目(三种方式)
  5. Android中BaseAdapter的用法分析与理解
  6. Android中View跟随手指滑动效果的实例代码
  7. AIDL使用详解(一)
  8. Android欢迎界面的创建方法
  9. Android(安卓)Camera CameraHal.cpp 初始化分析

随机推荐

  1. android 保持屏幕常亮和唤醒屏幕的方式
  2. 同步安卓源码错误:error: Cannot fetch Cy
  3. android 关于闹钟
  4. Android(安卓)EditText.setError() - 会
  5. 浅谈Java回调机制
  6. M2eclipse使用Maven编译Android下i-jetty
  7. android上加载大图片需要注意的问题
  8. android 4.3 操作源码实现系统截屏(暂无移
  9. bt开发类
  10. Android(安卓)XML设置圆角边框