1. Activity创建时的执行的方法
onCreate --> onStart --> onResume
2. Activity销毁时的执行的方法
onPause --> onStop --> onDestroy
3. A、B两页面,A跳转至B,点击back,整个过程执行的方法
case1:
B完全覆盖A,A不再可见:
onPause(A) --> onCreate(B) / onStart(B) / onResume(B) --> onStop(A)
A页面在跳转到B页面时,A要先Pause,待B页面完全显示后,A页面才Stop。此时A页面未被销毁。
B页面返回,A页面再现
onPause(B) --> onRestart(A) / onStart(A) / onResume(A) --> onStop(B) / onDestroy(B)
同理,B页面先Pause,待A页面显示完全后,B再Stop/Destroy
case2:
B局部覆盖A,A可见:
onPause(A) --> onCreate(B) / onStart(B) / onResume(B)
A页面在跳转到B页面时,A页面Pause,接着就是B页面完全显示。此时A页面未被销毁。
B页面返回,A页面再现
onPause(B) --> onResume(A) --> onStop(B) / onDestroy(B)
同理,B页面先Pause,待A页面显示完全(onResume)后,B再Stop/Destroy。
4 绑定/解绑服务的时机
需要服务运行在activity在可见状态下时,最好在onStart()方法中绑定服务,在onStop()方法中解除绑定
即使Activity处于不可见的停止状态,也能够接收到响应,可以在onCreate()方法中绑定,在onDestroy()中解除绑定。这就意味着在Activity的整个生命周期中都要使用服务