Appearance
内存、生命周期、系统约束
模块目标
理解 JVM / Dart / App 运行时的内存结构、对象生命周期、页面生命周期,以及系统对前后台行为的约束。
本模块要回答的问题
- 栈、堆、类元数据区到底是什么?
- GC 是怎么回收对象的?
- Dart isolate 为什么天然避免共享内存问题?
- Android 页面退后台后到底会发生什么?
- Flutter Widget / Element / RenderObject 分别是什么?
- iOS 为什么很多后台行为“看似能做但其实有限制”?
子主题清单
01. 内存与对象模型
- [x] JVM / Dart 内存模型
- [x] JVM 运行时内存区域(已并入主文档)
- [x] 栈 / 堆 / 类元数据区(已并入主文档)
- [x] GC 基础(已并入主文档)
- [x] 对象生命周期(已并入主文档)
- [x] Dart isolate 独立堆(已并入主文档)
- [x] 内存泄漏常见来源(已并入主文档)
02. Android 生命周期
- [ ] Android Activity 生命周期
- [ ] Android Fragment 生命周期
- [ ] ViewModel / SavedStateHandle
- [ ] 进程被杀后的恢复
- [ ] 前后台切换
- [ ] 配置变更
- [ ] 冷启动 / 热启动 / 温启动
03. Flutter 生命周期
- [ ] Flutter Widget / Element / RenderObject
- [ ] initState / build / dispose
- [ ] AppLifecycleState
- [ ] 页面重建与状态保存
- [ ] Flutter 页面与原生宿主生命周期映射
04. iOS 后台约束
- [x] iOS 生命周期与后台限制
- [x] iOS app 前后台切换(已并入主文档)
- [x] iOS 后台模式限制(已并入主文档)
- [x] 音频/定位/下载的特殊权限(已并入主文档)
- [x] BGTaskScheduler 现实边界(已并入主文档)
推荐复习顺序
- JVM / Dart 内存模型
- Android 生命周期
- Flutter 生命周期
- iOS 生命周期与后台限制
- 最后补跨端映射表
对应 labs 入口
建议后续优先补:
labs/android/memory-lifecycle/labs/flutter/memory-lifecycle/labs/shared/memory-lifecycle/
备注
这个模块特别适合结合真实线上问题和崩溃/恢复场景一起复习。