首页
›
移动端与Android应用开发
›
004-AOSP框架组件Navigation导航栈设计
›
《Android Activity重建后的导航状态恢复》
VIP20
本课程属于:004-AOSP框架组件Navigation导航栈设计
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
Android Activity重建后的导航状态恢复
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
Activity重建的触发场景
系统配置变更 · 后台进程被杀死 · 资源内存不足
Activity
重建的触发场景
02
onSaveInstanceState与onRestoreInstanceSta
调用时机 · Bundle传递 · 典型误区
onSaveInstan…
onRestoreIns…
03
ViewModel在重建中的存活机制
ViewModelScope · onCleared · 与onSaveInstanceSta…
ViewModel
重建
04
SavedStateHandle的原理与使用
构造函数注入 · SavedStateHandle的g… · 与SavedStateRegistr…
SavedStateHa…
的原理
05
Navigation Component的状态保存
NavController的save… · 默认自动保存行为
Navigation
Component
06
手动保存Fragment返回栈
FragmentManager的sa… · backStackEntry的状态
Fragment
手动保存
07
底部导航当前选中项保存
BottomNavigationVi… · 自定义SavedStateHandl…
底部导航当前选
项保存
08
TabLayout与ViewPager2当前页保存
TabLayoutMediator的… · ViewPager2的onSaveI…
TabLayout
ViewPager2
09
Toolbar/ActionBar标题与菜单状态保存
Toolbar的title · menu item checked状…
Toolbar/Acti…
标题
10
DialogFragment显示状态保存
show/ dismiss · withFragmentManage… · SavedStateHandle方案
DialogFragme…
显示状态保存
11
底部Sheet与弹出面板状态保存
BottomSheetBehavio… · 协调布局中的保存技巧
Sheet
底部
12
RecyclerView滚动位置保存
LayoutManager的onSa… · Parcelable恢复 · 嵌套滚动
RecyclerView
滚动位置保存
13
EditText输入内容保存
TextWatcher · View的onSaveInstanc… · 与ViewModel的配合
EditText
输入内容保存
14
CheckBox、Switch等控件选中状态保存
CompoundButton的onS… · 派生类覆盖
CheckBox
Switch
15
自定义View的状态保存
实现onSaveInstanceSt… · Parcelable书写
View
自定义
16
SavedStateRegistry架构
组件注册 · SavedStateProvider… · 与ActivityResultReg…
SavedStateRe…
架构
17
Activity重建后的导航图重新加载
NavHostFragment初始化 · navGraph与startDest…
Activity
重建后的导航图重…
18
多返回栈(Multiple Back Stack)保存
BottomNavigationVi…
Multiple
Back
19
DeepLink与PendingIntent后的状态恢复
Intent中的EXTRA · getIntent的传递时机
DeepLink
PendingInten…
20
ProcessDeath场景下的极端情况
系统杀死进程后恢复 · Application重建 · ViewModel为空
ProcessDeath
场景下的极端情况
21
测试重建恢复
开发者选项中的“不保留活动 · adb shell am resta… · 单元测试模拟
测试重建恢复
开发者选项
22
常见错误一
未调用super.onSaveIns…
常见错误一
super.onSave…
23
常见错误二
在onCreate中过早获取恢复状态…
常见错误二
onCreate
24
常见错误三
使用非序列化对象放入Bundle导致…
常见错误三
Bundle
25
常见错误四
FragmentManager.sa…
常见错误四
FragmentMana…
26
调试技巧
Logcat输出SavedState… · 使用Breakpoint检查Bund…
调试技巧
Logcat
27
性能优化
避免大对象序列化 · 使用LiveData延迟恢复 · 懒加载Fragment
性能优化
避免大对象序列化
28
与Jetpack Compose的交互
Compose中的rememberS… · 跨Activity重建的导航状态
Jetpack
Compose
29
代码规范
将保存逻辑封装到BaseActivi… · 统一的SavedStateHandl…
代码规范
BaseActivi
30
实战案例
一个多Tab新闻App的完整导航状态…
实战案例
Tab
所属VIP或分类
同VIP:ANR问题定位与导航栈优化实践
同VIP:Binder调用与导航事件路由学习指南
同VIP:Binder跨进程导航回调应用实践