Activity 返回栈的声明周期,Intent跳转页面的生命周期及前一个页面自动销毁的问题及解决办法

Activity返回时的生命周期

C回退到B : C.onPause – B.onStart – B.onResume – C.onStop – onDestory 。返回时C会“出栈”

这里写图片描述

Intent跳转时Activity的声明周期

1. A-B-C-A,三个页面跳转时Activity生命周期 : A->B: A.onPause-B.onCreate-B.onStart-B.onResume-A.onStop
2. B->C和C->执行过程与A->B一致,具体可以看下图:

A-B-C-A

2. A-B-A, 两个页面跳转时Activity的生命周期:与三个页面跳转时相同

A-B-A

解决跳转后自动销毁前一个Activity的问题

在一些情况下会出现销毁前一个Activity的情况即跳转时会调用onDestory()。如下图。

这里写图片描述

这种情况可以查看自己的设备: 设置》开发者人员选项(没有的可以百度搜索怎么跳出来)》取消不保留活动的勾选。或者在AndroidManifest.xml中查看对应Activity是否配置了
android:finishOnTaskLaunch=”true”
android:clearTaskOnLaunch=”true”
如果配置了可以将其删掉或者改为false。

猜你喜欢

转载自blog.csdn.net/qq_36882793/article/details/82115132