day_03 活动的四大启动模式

  • standard:每次激活一个活动时,都会创建活动实例,并放入任务栈中。

  假如激活了第一张图的这些活动,想再激活活动一,则直接新建活动一。

  

    

  • singleTop:如果想要激活的活动在栈顶,则不需要新建活动实例,否则,需要新建一个活动实例。

  比如想激活活动三,如果在栈顶,则不用再重复创建。

  

  • singleTask:如果检测到栈中存在想要激活的活动,则将该活动上面的活动出栈,将想要激活的活动实例放在栈顶。 

  在上面的图的基础上,如果想激活活动一,则将二三出栈,将活动一放在栈顶。

  

  • singleInstance: 只有一个实例,并且这个实例独立运行在一个task中,并且这个task中只存放这一个活动实例。

  

扫描二维码关注公众号,回复: 2614600 查看本文章

  测试:(每个活动里的onCreate里都写一个日志)getTaskId是得到Task的id,通过id的不同来证明。
      (活动一)Log.e("Activity1","MainActivity1_onCreate_taskID"+getTaskId);
      (活动二)Log.e("Activity2","MainActivity2_onCreate_taskID"+getTaskId);
  运行结果:
      Activity1: Activity1_onCreate_TaskID72
      ...
      Activity2: Activity2_onCreate_TaskID73
  每一个活动所在的Task都不同,除了这个模式之外其余三个模式都相同

  那这些模式写在哪呢?

  例如:singleTop模式。

  如果不写,默认standard模式。

  

  

猜你喜欢

转载自www.cnblogs.com/ywyh2018/p/9441157.html