activity生命周期图
图片源自Android开发者指南
生命周期函数调用情况
-
初次进入activity:顺序调用onCreate、onStart、onResume 三个生命周期函数。
-
从activity中返回上一级:顺序调用onPause、onStop、onDestroy三个生命周期函数。
-
从activity中回到桌面或跳去别的应用:顺序调用onPause、onStop两个生命周期函数。
-
接上文,从别的地方再重新回到activity:顺序调用onRestart、onStart、onResume三个生命周期函数。
-
在activity接到电话后与第三情况一致,接完电话后返回到activity情况与第四情况一致。
-
调用onBackPressed函数与第二情况一致。
-
锁屏后与第三一致,解锁后与第四一致。
-
Intent跳转到别的activity与第三一致。
总结
-
onCreate函数只会在第一次进入activity的时候调用,适合用来做界面的初始化准备。
-
跳转到别的页面或者去别的app可以理解为进入到下一个activity,会调用onPause、onStop。
-
回到activity中就会onRestart、onStart、onResume三连。
-
返回上一个activity即activity出栈,onPause、onStop、onDestroy三连击,记得要在destroy里清除有关的变量,如定时任务等,避免内存泄漏的风险。
-
作者并没有阅读源码,本博客总结仅在生命周期函数内打印日志,内容仅供参考。