生命周期与状态管理:避免崩溃和内存泄漏的基本功
一、Activity 生命周期关键节点
- onCreate → 初始化
- onStart/onResume → 可见并交互
- onPause/onStop → 释放资源
二、Fragment 生命周期
注意 view 生命周期:onCreateView/onDestroyView 之间绑定资源。
三、状态保存与恢复
override fun onSaveInstanceState(outState: Bundle) {
outState.putString("key", value)
super.onSaveInstanceState(outState)
}
四、ViewModel 管理状态
class MainViewModel : ViewModel() {
val counter = MutableLiveData(0)
}
五、常见内存泄漏点
- 持有 Activity/Context 的静态引用
- 匿名内部类回调未解绑
- Handler 消息未移除
override fun onDestroy() {
handler.removeCallbacksAndMessages(null)
super.onDestroy()
}
结论
生命周期与状态管理是“稳定性”的核心,熟练后能显著减少崩溃与卡顿。
