onCreate ~ onDestroy:
onStart ~ onStop: 可见
onResume ~ onPause: 可见但失去焦点(不能与用户交互)
只调用onPause-onResume的情况:1. 按poweroff睡眠 2. 当前activity被一个透明的包含Dailog的activity覆盖
调用onStop-OnStart的情况:1. 按了HOME键回到桌面 2. 前往了另一个Activity(没有finish掉本activity)然后按BACK回到本Activity
调用onDestroy-onCreate的情况:1. 按了BACK回退到前一个activity
调用时机:
a. 注册或取消广播监听。在onStart中注册,在onStop中取消(即在本Activity用户可见时进行广播监听),也可以在onResume中注册,在onPause中取消(即在本Activity可与用户交互时进行广播监听)
b. 持久化数据。在onPause中使用SharedPreference保存本Activity上用户已编辑的数据,在onCreate时,恢复数据。
c. 绑定与取消绑定Service。在onCreate中绑定,在onDestroy中取消绑定
手机配置发生变化时(如横竖屏切换、语言切换):默认情况下Activity先destroy然后重新create,以便重新加载适合的layout或locale资源
对于横竖屏切换可通过在AndroidManifest.xml中的activity里添加属性android:configChanges="orientation|keyboardHidden,这样在切换时activity不会重新创建。