探索Activity活动的生命周期

下面,我们先看一张关于Activity活动生命周期的图表


由上图我们可知道以下7个 回调方法对Activity活动生命周期进行了完整的描述:


1.

当活动第一次创建的时候,会自动调用“onCreate()”方法,首次创建;

2. 

当活动处于栈顶位置的时候,调用“onStart()”方法

3. 

同时,当处于栈顶时,并且可以与用户进行交互时,也会调用"onResume()"方法(也就是继续)

4. 


这时activity就处于运行状态(这时处于栈顶位置)

5.  接下来有个状态发生了:


又打开了另外一个活动

6. 当新的活动进栈,会将前一个活动覆盖,如下图:

每启动一个新的活动,将遮蔽前一个活动

7. 

那么之前的活动首先将会进行"onPause()"这个状态(也就是暂停状态)

8.  接下来是否调用"onStop()"方法是否调用取决于下图所示状态


之前活动不可见(也就是新的活动完全遮盖前一个活动)

9.

这时将会自动调用"onStop()"方法,将其从可见状态变为不可见状态

10.  当然,会有一些比较特别的情况,比如打开的是一个对话框,不能覆盖全屏的情况下,之前栈顶的活动就不会调用"onStop()"方法,只会调用"onPause()",只是暂停,并没有完全停止,依然可见


11.

当按下返回按钮时,这个活动将会被注销、销毁

12.

活动被关闭

13. 

当之前被停止的活动重新回到栈顶时(如上图标红),将会调用"onRestart()"方法进入"onResume()"方法,“onCreat()”方法在整个生命周期只会被调用一次

14.

如果是dialog格式,也就是不完全遮盖的,当它返回时,会重新进入到"onResume()"继续

15.

如果内存非常紧张的时候,这个进程将会被Kills,从而释放资源(红线标注);如果我们还需这个资源的话,将会重新进入“onCreate()”方法

                                                                                               ---开发之路弥坚,亦要坚持和努力

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容