Android的Activity有四种启动模式,分别为standard模式,singleTop模式,singleTask模式,singleInstance模式。

    standard模式,也就是默认的模式,没什么特别性,就符合堆栈的先入后出原则,每次跳转Activity都会创建Activity实例,并把它放入Activity栈中。

    singleTop模式,从字面表达也可以看出,栈顶单例。也就是说,当跳转Activity时,如果跳转的Activity在栈顶已经存在,那么就重用该实例,否则会穿件新的实例并放入栈顶。例如在A页面调用

Intent i = new Intent(A.this,A.class),系统并不会进行跳转,如果在A页面跳转到B页面,B页面跳转A页面,我们会发现堆栈中出现了两个A实例。

    singleTask模式,如果栈中已经存在该实例,不管是否在栈顶,都会重用该实例,弹出所有栈中在该实例之上的所有页面。

    singleInstance模式:在新栈中创建该Activity实例,并让多个应用共享该实例。如果在当前应用中,和singleTask的区别在于singleInstance不会移除原来在它栈中之上的实例。例如A->B(singleInstance)->C->B(singleInstance)->D,如果此时我们按Back键返回,则界面显示为D->B->C->A,显然B只是被移动了位置。

    具体各模式操作可以下载源码进行操作。

更多相关文章

  1. Android(安卓)MVP 模式:简单易懂的介绍方式
  2. 阿里路由框架ARouter简介
  3. Android中ScrollView布局初始化显示的时候使页面置顶
  4. 理解与应用Android桌面组件AppWidget
  5. Android(安卓)UI 之SlidingMenu实现方法(二)
  6. Android的Context简介
  7. wp7开发第一课:软件生命周期(其一)
  8. Android(安卓)UI 之 我的页面 圆形图片+通用item封装(简化代码量)
  9. android binder 基础实例及解析(一)

随机推荐

  1. Eclipse集成Android(安卓)NDK开发环境
  2. cocos2d-x - android 学习(集成NDK、配置
  3. Android -- 消息处理机制源码分析(Looper
  4. 如何修改Android应用程序能够使用的默认
  5. Android移动应用基础学习——第一章基础
  6. Android2.3 中如何使用GPU硬件加速
  7. Android中实现网络图片的获取
  8. Android面试题精选
  9. Android学习之ION memory manager
  10. Android应用开发学习之相对布局