Activity的四种启动模式

2017-07-28  本文已影响0人  维一hw

Activity四种启动模式

这部分应该是最最基础的了,但是还是有很多细节需要把握,不只是表面的知识点。

image.png image.png
  1. 作为栈内复用模式(singleTask)的加强版
  2. 打开该Activity时,直接创建一个新的任务栈,并创建该Activity实例放入新栈中
  3. 一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例
  4. 使用场景:多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。使用场景如闹铃提醒,将闹铃提醒与闹铃设置分离。
    四种启动模式图解
image.png
四种启动模式的区别 image.png

2.通过Intent设置标志位

image.png image.png
二者设置的区别 image.png image.png

  我们发现这两个Activity实例分别被放置在不同的栈结构中,关于singleInstance的原理图如下

image.png

   上半部分图我们看到从MainActivity跳转到SecondActivity时,重新启用了一个新的栈结构,来放置SecondActivity实例,然后按下后退键,再次回到原始栈结构;图中下半部分显示的在SecondActivity中再次跳转到MainActivity,这个时候系统会在原始栈结构中生成一个MainActivity实例,然后回退两次,注意,并没有退出,而是回到了SecondActivity,为什么呢?是因为从SecondActivity跳转到MainActivity的时候,我们的起点变成了SecondActivity实例所在的栈结构,这样一来,我们需要“回归”到这个栈结构。

上一篇 下一篇

猜你喜欢

热点阅读