首页
›
移动端与Android应用开发
›
034-Android架构组件内存泄漏
›
《ViewModel内存泄漏排查实战教程》
VIP20
本课程属于:034-Android架构组件内存泄漏
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ViewModel内存泄漏排查实战教程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
泄漏现象识别
用户反馈 · ANR日志 · OOM崩溃
泄漏现象识别
用户反馈
02
泄漏第一现场
使用Android Profiler…
泄漏第一现场
Android
03
Heap Dump分析入门
MAT或Android Studio… · 引用路径
Heap
Dump
04
ViewModel泄漏的典型特征
Activity/Fragment被…
ViewModel
泄漏的典型特征
05
排查工具链
LeakCanary · Perfetto · dumpsys meminfo的适用…
排查工具链
LeakCanary
06
LeakCanary配置与泄漏追踪
设置 · 忽略白名单 · 分析报告解读
LeakCanary
配置
07
dumpsys meminfo实战
获取进程内存快照 · 查看Activity和ViewRoo…
dumpsys
meminfo
08
泄漏引用链快速定位
从GC Root到泄漏对象的路径
泄漏引用链快速定…
GC
09
ViewModel内部匿名内部类/非静态内部类泄漏
线程 · Runnable · Observer
ViewModel
内部匿名内部类
10
ViewModel持有View引用泄漏
LiveData观察者 · 自定义View回调
ViewModel
View
11
ViewModel持有Context/Activity泄漏
Application Contex…
ViewModel
Context/Acti…
12
ViewModel中单例/静态变量泄漏
全局缓存 · 静态集合持有ViewModel
ViewModel
单例
13
ViewModelScope协程泄漏
未取消的Job · 长时间运行的Flow收集
ViewModelSco…
协程泄漏
14
第三方库回调泄漏
Retrofit · RxJava · EventBus注册未注销
第三方库回调泄漏
Retrofit
15
泄漏根因判断规则
保留路径长度 · 强引用类型 · 生命周期是否已结束
泄漏根因判断规则
保留路径长度
16
修复动作一
使用弱引用替代强引用
修复动作一
使用弱引用替代强…
17
修复动作二
在onCleared()中清理协程 · 取消观察 · 注销监听
修复动作二
onCleared
18
修复动作三
用Application Conte…
修复动作三
Application
19
修复动作四
避免ViewModel持有Activ… · 改用LiveData/Flow
修复动作四
ViewModel
20
修复动作五
使用Lifecycle观察者自动解除…
修复动作五
Lifecycle
21
复测验证方案
手动触发GC后再次Heap Dump…
复测验证方案
GC
22
自动化泄漏检测
CI集成LeakCanary · 编写单元测试
自动化泄漏检测
CI
23
预防方案一
ViewModel设计规范——生命周… · 不持有View
预防方案一
ViewModel
24
预防方案二
代码审查清单——泄漏点检查项
预防方案二
代码审查清单
25
预防方案三
自定义ViewModelFactor…
预防方案三
ViewModelFac…
26
预防方案四
SavedStateHandle替代…
预防方案四
SavedStateHa…
27
复杂场景排查
多模块 · 多BackStack · DialogFragment中的Vi…
复杂场景排查
多模块
28
泄漏监控看板
集成Firebase Crashly…
泄漏监控看板
Firebase
29
实战案例一
ViewModel中Handler.…
实战案例一
ViewModel
30
实战案例二
ViewModel中DataBind…
实战案例二
ViewModel
所属VIP或分类
同VIP:Android-Profiler堆转储分析技巧
同VIP:BroadcastReceiver注册泄漏诊断与修复
同VIP:CI流水线集成LeakCanary实践