android四大组件(二)activity生命周期

生命周期图

(图片来自百度)  

activity的生命周期图中可以看到 第一个被执行到的系统方法为onCreate 他在activity初始化之初被执行,所以我们把大多数初始化方法在onCreate中实现  如对布局文件的引入,数据库的实例等,此方法基本为activity的比用方法。

第二个被执行的是onStart  从字面意思也可以看出此方法在activity正式启动的时候调用,由于前面有oncreate方法后面还有别的,他们之间的间隔时间极短,所有一般不再此方法中操作逻辑代码。

注意:由于oncreate和onstart 在activity启动时调用  所以不建议在这两个方法中写耗时操作  否则会延长activity启动的时间 影响用户体验。

第三个方法 onResume 此方法在activity启动完成 到页面显示时被调用。也是比较常用的方法,如页面的一些显示逻辑等都可以在此方法实现。

当activity 不在当前显示,发生此状态会首先调用onPause方法。如果有需要在activity在非显示状态(退出,覆盖,切换,锁屏等)的逻辑处理可在此方法实现。

onStop 方法在 onPause之后马上执行,所有onPause中的处理逻辑也可以在onStop中处理。

onDestory 在activity被杀死之前,onStop之后执行(注意:onStop之后不一定会执行onDestory,只有在activity被销毁之前执行/系统销毁或者人为销毁)。在此方法中处理activity销毁时的处理。如释放内存,清除服务实例等。

当activity被别的activity覆盖在返回重新显示时 会从onPause直接再走一遍onResume ,

当activity被覆盖状态下被系统杀死(出现在系统内存不足情况等)时,  会从onStop走到onCreate(相当于重新启动)

当app被切出或者手机锁屏等情况  会从onStop走到 onRestart  到onStart  然后重新显示。如果有这种情况的逻辑需求可以在onRestart  中实现。一般不用写在onStart 

猜你喜欢

转载自blog.csdn.net/qq_36355271/article/details/86577930