Android应用软件开发

194课时
693学过
8分

课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
3分钟

2.1.4 相关知识

相关知识

Activity生命周期是研究Android开发最基础的知识点之一,熟练掌握生命周期的特性可以在实际开发中避免一些失误。

Activity的生命周期共七个指示器:onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart。如图2-1-4-4所示。

onCreate

当我们点击一个App图标,启动该App时,Activity被创建,此时onCreate()被调用。一般在创建Activity时需要重写该方法做一些初始化的操作,如通过setContentView设置界面布局的资源,初始化所需要的组件信息等。

onStart

该方法回调表示Activity正在启动,此时Activity处于可见状态,只是还没有在前台显示,因此用户也无法交互。可以简单理解为Activity已显示却无法被用户看见。

onResume

此方法回调时,Activity已在在屏幕上显示UI并允许用户操作了。从流程图可见,当Activity停止后(onPause、onStop方法被调用),重新回到前台时也会调用onResume方法。可以在onResume方法中初始化一些资源,比如打开相机或开启动画。

onPause

此方法回调时,Activity正在停止(Paused形态),通常接下来 onStop() 会被回调 。但通过流程图可见,另一种情况是onPause() 执行后直接执行了onResume方法,这可能是用户点击Home键,让程序退回到主界面,程序在后台运行时又迅速地再回到到当前的Activity,此时onResume方法就会被回调。我们可以在onPause方法中做一些数据存储、动画停止、资源回收等操作。另外,onPause方法执行完成后,新Activity的onResume方法才会被执行。所以onPause不能太耗时,否则会影响到新的Activity的显示。

onStop

此方法回调时,Activity即将停止或者完全被覆盖(Stopped形态),此时Activity不可见,仅在后台运行。同样地,在onStop方法可以做一些资源释放的操作,不能太耗时。

onRestart

此方法回调时,表示Activity正在重新启动,由不可见状态变为可见状态。这种情况,一般发生在用户打开了一个新的Activity时,之前的Activity就会被onStop,接着又回到之前Activity页面时,之前的Activity的 onRestart方法就会被回调。

onDestroy

此方法回调时,表示Activity正在被销毁,也是生命周期最后一个执行的方法,一般我们可以在此方法中做一些回收工作和最终的资源释放。

13