(1) onCreate : 表示activity 正在被创建,这是生命周期的第一个方法。在这个方法中,我们可以做一些初始化工作,比如setContentView去加载界面布局资源、初始化activity所需数据等,还可以在异常状态重建是利用savedInstanceState 获取需要的值。

(2) onRestart : 表示acticity正在重新启动。一般情况下,当当前activity从不可见重新变为可见状态时,onRestart就会被调用。这种情形一般是用户行为导致的,比如用户按Home切换到桌面或者用户打开了一个新的activity,这是当前的activity就会暂停,也就是onPause和onStop被执行了,接着用户又回到了这个activity,就会出现这种情况。

(3) onStart : 表示activity正在被启动,即将开始,这是activity已经可见了,但是还没有出现在前台,还无法和用户交互。这个时候其实可以理解为activity已经显示出来了,但是我们还看不到。

(4) onResume : 表示activity已经可见了,并且出现在前台病开始活动。要注意这个和onStart的对比,onStart和onResume都表示activity已经可见,但是onStart的时候activity还在后台,onResume的时候activity才显示到前台。

(5) onPause : 表示activity正在停止,正常情况下,紧接着onStop就会被调用。在特殊情况下,如果这个时候快速再回到当前的activity,那么onResume就会被调用。在此时用户可以一些数据存储、停止动画的操作,但是注意不能太耗时,因为这会影响到新activity的显示,onPause必须先执行完,新activity的onResume才会执行。

(6) onStop : 表示activity即将停止,可以做一些稍微重量级的回收工作,同样不能太耗时。

(7) onDestroy : 表示activity即将被销毁,这是activity生命周期中的最后一个回调,在这里,我们可以做一些回收工作和最终的资源释放。

常见activity生命周期的几种情况:

(1) activity正常启动时,onCreate -> onStart -> onResume

(2) 打开新的activity或者切换到桌面时:onPause -> onStop,在这里当activity采用透明主题时比较特殊,不会回调onStop

(3) 当在上面情况再返回当前activity时,onRestart -> onStart -> onResume

(4) back键返回时 onPasue -> onStop -> onDestroy

本文地址: http://www.yppcat.top/2019/02/17/activity生命周期相关/