这次是在SingleTask中作了实验。

我们先做了三个简单的activity。act_task1,act_task2,act_task3。

activity在SingleTask模式下的生命周期

我们先作一般情况下跳转不同的act。如:act_task1->act_task2->act_task3发现与标准情况下没有任何不同。

activity在SingleTask模式下的生命周期

接下来我们再回跳转到act_task1。发现如下:

activity在SingleTask模式下的生命周期

系统会先从内部开始把act_task1与act_task3之间的act全部结束noDestroy。然后暂停act_task3,调用act1的onNewIntent->onRestart->onStart->onResume然后再停止并结束act3。


总结:

一、

SingleTask与SingleTop生命周期相同的时候是在当前act正处于栈顶且跳转的是该act。

但是在里面的时候,由于处于非栈顶的act都被完全覆盖了,所以生命周期会不仅仅运行onPause还会到onStop,所以在重新启用时,会先调用onRestart,再执行以下顺序:onStart->onResume。

二、

跳转singleTask模式的act,需要先结束栈内除跳转的act外的act,然后再暂停当前act,接着重启act,最后结束之前暂停的act。



相关文章:

  • 2022-12-23
  • 2021-04-24
  • 2021-05-12
  • 2021-04-23
  • 2021-11-02
猜你喜欢
  • 2021-12-21
  • 2021-09-17
  • 2022-03-01
  • 2021-11-02
  • 2021-05-04
  • 2021-08-22
  • 2021-04-19
相关资源
相似解决方案