Android 生命周期详解
- [一、Activity 完整生命周期](#一、Activity 完整生命周期)
一、Activity 完整生命周期
-
onCreate():页面第一次创建时调用,只执行一次。主要处理 setContentView、初始化控件、初始化数据、绑定 TabHost。
参数
savedInstanceState:页面重建时恢复状态用。 -
onStart():页面变为可见但还不能交互。从后台切回前台、解锁屏幕都会执行。
-
onResume():页面获取焦点,可以点击、交互 -
onPause():页面失去焦点,退到后台。 -
onStop():页面完全不可见。 -
onDestroy():页面即将销毁时调用,只执行一次。用于释放资源、注销广播、停止服务。
-
onRestart():页面从后台回到前台,但没被销毁。流程:onStop → onRestart → onStart → onResume
完整执行流程 :
① 正常打开 → 关闭
onCreate() → onStart() → onResume() →(运行中)
→ 按返回键退出
→ onPause() → onStop() → onDestroy()
② 打开 → 回到桌面 → 再切回 APP
onCreate → onStart → onResume
→ 回到桌面
→ onPause → onStop
→ 切回APP
→ onRestart → onStart → onResume
③ 屏幕旋转(Activity 重建)
onPause → onStop → onSaveInstanceState → onDestroy
→ 重建
→ onCreate → onStart → onResume
额外两个状态保存方法:
-
onSaveInstanceState(Bundle outState)页面可能被系统销毁时调用,存储当前 tab、输入框文字、列表位置。
-
onRestoreInstanceState(Bundle savedInstanceState)页面重建后调用,比 onCreate 晚,比 onStart 早。