6.3 Activity的监控范围内的三个主要循环
Android 开发入门与实战(第二版)
Activity的“整个生命周期”是发生在第一次调用onCreate(Bundle)和唯一最后调用onDestroy()方法之间。一个Activity会在onCreate()方法中设置全局状态,并在onDestrory()方法中释放余下的资源。例如:Activity有一个运行在后台的线程用来从网络上下载数据,则这个线程可能在onCreate()方法中被创建,并在onDestroy()方法停止线程。
Activity的“显示生命周期”是发生在调用onStart()方法以及调用相对应的onStop()方法之间。这段期间,用户可以在屏幕上看到Activity,尽管该Activity可能不在前面(可能隐藏被透明的Activity覆盖等)并与用户交互。在这两个方法中间你可以维护所需要的显示给用户的资源。例如:你可以在onStart()方法中注册一个BroadcastReceiver来检测影响你用户界面的改变,并当你的用户不在见到显示的东西时在onStop()方法中撤销该BroadcastReceiver。随着Activity对用户的可见和不可见状态的转变,onStart()方法和onStop()方法能被调用多次。
Activity的“前台生命周期”(foreground lifetime的意思就是当前Activity显示在屏幕上并且用户能与之交互的一个状态)发生在调用onResume方法以及相应的onPause方法之间。在这段期间,Activity处在其他Activity的前面并能与用户直接交互。Activity会经常在恢复和暂停的状态中转换。例如,当设备休眠时,当一个新的intent被传递到另一个Activity时。因此在这些方法中代码应该要相当轻量级。