一个完整生命周期:
onCreate -> onStart -> onResume -> 页面运行 -> onPause -> onStop -> onDestroy
第一次启动:
onCreate -> onStart -> onResume
打开其他Activity或切换到桌面时:
onPause -> onStop
当启动一个弹框时:(TODO)
Activity切到桌面再切回来:
onRestart -> onStart -> onResume
用户按back键回退时:
onPause -> onStop -> onDestroy
ActivityA启动ActivityB时:
onPause(A) -> onCreate(B) -> onStart(B) -> onResume(B) -> onStop(A)
因为onPause会阻塞到下个页面的打开,所以里面不能做太多工作
onStart和onResume onPause和onStop区别:
onStart和onStop是从Activity是否可见来回调
onResume和onPause是从Activity是否位于前台回调
onStart:页面已经渲染好了,但还没有出现在前台,用户还看不到,也不能交互
onResume:这时页面已经出现在前台(用户可见)并且开始活动
onPause: 页面正在停止,执行完下个页面才可以创建,所以不能做耗时操作
onStop: 页面已不可见,即将停止
网友评论