Android 四大组件与生命周期要点
Activity 生命周期是什么? onCreate:初始化视图、数据恢复 onStart:页面可见 onResume:页面处于前台,可交互 onPause:失去焦点,轻量释放 onStop:完全不可见,重资源释放 onDestroy:销毁前清理,但不保证一定执行 加上一个onrestart 启动模型 跳转时: 旧 Activity 先 onPause,新 Activity 启动后,旧的再 onStop。 切回主界面时: onRestart -> onStart -> onResume。 activity的启动模式 (LaunchMode) 及场景 Standard: 默认模式,每次启动都创建新实例。 SingleTop: 栈顶复用。场景: 通知栏点击进入已打开的页面,避免重复创建。 SingleTask: 栈内复用,会移除其上方的所有 Activity。场景: APP 主页。 SingleInstance: 独占一个任务栈。场景: 闹钟、来电显示。 屏幕旋转后的 Activity 重建 原理: 默认会执行销毁并重建流程。 处理方案: 持久化: 在 onSaveInstanceState 中保存 Bundle 数据,在 onCreate 或 onRestoreInstanceState 中恢复。 ViewModel: 利用 ViewModel 生命周期长于 Activity 的特性存储 UI 数据。可以详细了解Viewmodel 中的过程。 配置拦截: 在 Manifest 设置 android:configChanges=“orientation|screenSize”,拦截后在 onConfigurationChanged 中手动处理。 ...