Activity 的生命周期分析

来源:互联网 发布:福特汉姆大学 知乎 编辑:程序博客网 时间:2024/05/17 21:55
                 Activity 的生命周期分析

Activity的生命周期切换过程

(1)onCreate: 表示Activity正在被创建,这是Activity的第一个方法。在这个方法中我们可以做一些初始化工作,比如调用setContentView 去加载界面布局资源、初始化Activity所需数据等。

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

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

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

(5)onResume: 表示Activity正在停止,正常情况下,紧接着 onStop就会被调用。在特殊情况下,如果这个时候快速地回到当前Activity,那么onResume会被调用。这种情况属于极端情况,用户操作很难重现这一场景。此时可以做一些存储数据、停止动画等工作,但是注意不能太耗时,这会影响新的Activity的显示,onPause 必须先执行完,新Activity的onResume才会执行。

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

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

0 0