首页
›
移动端与Android应用开发
›
034-Android架构组件内存泄漏
›
《LeakCanary工作机理详解教程》
VIP20
本课程属于:034-Android架构组件内存泄漏
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
LeakCanary工作机理详解教程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
LeakCanary是什么
内存泄漏检测工具 · Android平台专用 · 自动发现与通知
LeakCanary
是什么
02
内存泄漏基础概念
GC Root · 强引用与弱引用 · 不可达对象
内存泄漏基础概念
GC
03
Java/Android内存模型图解
堆内存 · 栈内存 · 方法区
Java/Android
内存模型图解
04
LeakCanary核心触发时机
Activity/Fragment… · ObjectWatcher注册 · 延迟GC触发
LeakCanary
核心触发时机
05
ObjectWatcher工作机理
弱引用包裹对象 · 引用队列监控 · 判断是否被回收
ObjectWatche…
工作机理
06
引用队列(ReferenceQueue)原理
被GC回收的对象入队 · 轮询判断泄漏
ReferenceQue…
引用队列
07
Android组件生命周期与泄漏
Activity · Fragment · Service
Android
组件生命周期
08
常见内存泄漏模式
单例持有Activity · 匿名内部类 · Handler
常见内存泄漏模式
Activity
09
LeakCanary启动与初始化
Application中安装 · ContentProvider自动初… · 配置参数
LeakCanary
启动
10
堆转储(Dump Heap)过程
触发条件 · 生成.hprof文件 · 文件大小与时机
Dump
Heap
11
hprof文件结构解析
堆快照格式 · 对象记录 · 引用链
hprof
文件结构解析
12
LeakCanary的GcRootFinder
查找最短引用链 · 从泄漏对象到GCRoot路径
LeakCanary
GcRootFinder
13
引用链泄漏路径示例
泄漏对象→父对象→……→GCRoot…
引用链泄漏路径示…
GCRoot
14
泄漏报告生成
对象名 · 引用链 · 类加载器
泄漏报告生成
对象名
15
Android Studio与hprof对比
MAT · Android Profiler · LeakCanary报告差异
Android
Studio
16
LeakCanary2.x与3.x版本变化
不再需要手动初始化 · 使用ObjectWatcher · 改进Dump策略
LeakCanary2.…
x版本变化
17
LeakCanary与其他检测工具对比
Eclipse Memory Ana… · Square的LeakCanary · 自定义WeakReference方案
LeakCanary
其他检测工具对比
18
弱引用与软引用、虚引用的区别
可达性 · 回收时机 · 使用场景
弱引用
软引用
19
内存泄漏分析常见误区
不可达对象≠泄漏 · GC后仍有对象≠泄漏 · WeakReference回调未清理
内存泄漏分析常见…
不可达对象≠泄漏
20
LeakCanary配置项详解
watchDurationMilli… · maxStoredHeapDumps · heapDumpDirectory等
LeakCanary
配置项详解
21
实战案例一
Handler导致Activity泄…
实战案例一
Handler
22
实战案例二
静态内部类持有外部引用 · 使用WeakReference替代
实战案例二
静态内部类持有外…
23
实战案例三
单例模式传入Context导致Act… · Application Contex…
实战案例三
Context
24
实战案例四
WebView内存泄漏与回收策略
实战案例四
WebView
25
LeakCanary在非Android环境适用性
Java桌面应用 · 模拟器 · Limitations
LeakCanary
Android
26
LeakCanary性能开销分析
CPU · 内存 · 磁盘I/O
LeakCanary
性能开销分析
27
如何阅读LeakCanary源码入口
ObjectWatcher · RefWatcher · HeapDumper关键类
LeakCanary
如何阅读
28
自定义泄漏检测策略
修改watch条件 · 扩展ObjectWatcher · 集成到测试框架
自定义泄漏检测策…
watch
29
练习题
识别代码片段中的泄漏并给出修复方案
练习题
识别代码片段
30
知识图谱与学习路径
从LeakCanary到Java内存… · GC原理 · Profiling工具
知识图谱
学习路径
所属VIP或分类
同VIP:Android-Profiler堆转储分析技巧
同VIP:BroadcastReceiver注册泄漏诊断与修复
同VIP:CI流水线集成LeakCanary实践