Activity是Android四大组件之一,了解和使用activity的生命周期在Android开发中必不可少。在程序(带界面)的运行过程中,程序中的activity实例都经历了生命周期的不同状态。Activity在状态的转换时会调用不同的回调方法,因此可以在这些回调方法中在activity转换状态时做出相应的操作。
Activity生命周期图如下:
下面开始介绍这些生命周期的状态以及回调函数。
onCreate方法:在activity被创建时,执行这个方法,初始化activity。在这个方法中,可以声明UI元素,定义成员变量,配置UI等。(此时用户还看不到activity(界面),所以onCreate里面尽量少做事情,避免程序启动太久都看不到界面)
onStart方法:onCreate方法结束之后,activity创建成功,紧接着马上执行onStart方法,activity开始被用户看见。
onResume方法:一旦结束onCreate 和onStart操作,系统会迅速调用onResume()方法。activity不会在Created或者Started状态停留。此时,activity会停留在Resumed状态,用户可以与activity交互。
onPause方法:在这个状态,activity被另外一个activity所遮盖:另外的activity来到最前面,但是半透明的,不会覆盖整个屏幕。被暂停的activity不会再接受用户的输入且不会执行任何代码。(这里的不会执行任何代码并不代表了任何后台线程都不会工作)
onResume方法:若activity在Paused状态下,activity重新完全显示,获得焦点,点用此方法。重新回到Resumed状态。
onStop方法:若activity在显示时,按下Home件或者启动另一个activity将此activity完全遮挡,将调用这个方法。此时activity完全不可见。若再次回到这个activity,系统将执 行onRestart->onStart重新回到Started状态,紧接着回到Resumed状态,再一次获得焦点。
onDestroy方法:若在activity显示时,按下back键,系统将会执行onPause()->onStop()->onDestroy()结束这个activity。
更多详情访问:http://hukai.me/android-training-course-in-chinese/index.html