当前位置:   article > 正文

Activity的四种启动模式_3.activity的启动模式包括standard、singletop、singletask和___

3.activity的启动模式包括standard、singletop、singletask和_________。

Activity四种启动模式分别是standard,singleTop,singleTask,singltInstance.在执行各个模式时候的页面中执行的方法各不相同,我们常常只是口头叙述一下各种模式是怎么回事,但是真的被问到执行的方法,可能说的不是很清楚,这里通过打印log的方法记录一下。

standard模式

从MainActivity进入StandardActivity,执行的方法分别是:onCreate,onStart,onResume,onAttchedToWindow.
从StandardActivity进入StandardTestActivity后执行方法:onPause,onStop.可以看到,当StandardTestActivity执行完onResume后,StandardActivity的onStop方法才执行。

在这里插入图片描述

返回的时候可以看到从StandardTestActivity到StandardActivity,StandardActivity执行了onStart,onResume方法,而当StandardActivity的onResume方法执行后,StandardTestActivity执行了onStop,onDestroy,onDetachedFromWindow方法
再次点击返回从StandardActivity返回到MainActivity页面,StandardActivity也依次执行了onPause,onStop,onDestroy,onDetachedFromWindow方法

在这里插入图片描述

singleTop模式

如图所示,这里分两种情况来看SingleTopActivity方法的执行。

  • singleTop—>singleTop
  • singleTop—>standard—>singleTop
singleTop–>singleTop

可以从图中看到singleTop->singleTop不再执行依次onCreate,onStart,onResume,而是执行了onNewIntent,onResume.
在这里插入图片描述

singleTop–>standard–>singleTop

可以从图中看到singleTop-->standard-->singleTop中,第二个singleTop依次执行了onCreate,onStart,onResume方法
在这里插入图片描述

singleTask模式

如图所示,同样分两种情况来看SingleTaskActivity方法的执行。

  • singleTask—>singleTask
  • singleTask—>standard—>singleTask
singleTask–>singleTask

可以从图中看到,singleTask->singleTasksingleTop->singleTop类似,也是执行了onNewIntent,onResume方法
在这里插入图片描述

singleTask–>standard–>singleTask

可以从图中看到singleTask-->standard-->singleTask ,进入第二个singleTask的时候,StandardActivity执行的方法相当于finish的操作,也就是被移除了,singleTask则执行了onNewIntent,onStart,onResume方法。
返回的时候直接执行了singleTask的onPause,onStop,onDestroy,onDetachedFromWindow方法
在这里插入图片描述在这里插入图片描述

singleInstance模式

如图所示,同样分两种情况来看SingleInstanceActivity方法的执行。

  • singleInstance–>singleInstance
  • singleInstance–>standard–>singleInstance
singleInstance–>singleInstance

可以从图中看到,singleInstance->singleInstance同样是执行了onNewIntent,onResume,前一个执行了onPause方法
在这里插入图片描述

singleInstance–>standard–>singleInstance

可以从图中看到,前面的一切正常,进入第二个SingleInstanceActivity的时候,执行了onNewIntent,onStart,onResume方法,这个和singleTask是一样的,但是不同的是SingleInstanceActivity和StandardActivity不在同一个任务栈中。
在这里插入图片描述
从下图可以看到,SingleInstanceActivity点击返回到了StandardActivity中,再点击返回,则不再会回到SingleInstanceActivity。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法编织者2/article/detail/60704
推荐阅读
相关标签
  

闽ICP备14008679号