首页
›
移动端与Android应用开发
›
042-蓝牙设备通信内存泄漏定位
›
《LeakCanary分析GATT对象泄漏链教程》
VIP20
本课程属于:042-蓝牙设备通信内存泄漏定位
移动端与Android应用开发 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
LeakCanary分析GATT对象泄漏链教程
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
LeakCanary简介
内存泄漏检测工具概述 · 发展历史 · 工作原理
LeakCanary
简介
02
GATT对象概念
BLE协议中的Generic Att… · GATT角色 · 服务和特征
GATT
对象概念
03
Android BLE API
BluetoothGatt · BluetoothGattCallb…
Android
BLE
04
内存泄漏基础
什么是内存泄漏 · GC Root · 引用链
内存泄漏基础
什么是内存泄漏
05
GATT对象泄漏常见场景
未及时close · 回调持有Activity引用等
GATT
对象泄漏常见场景
06
泄漏链概念
从泄漏对象到GC Root的引用路径
泄漏链概念
GC
07
LeakCanary核心原理
RefWatcher · HeapDump · 分析器
LeakCanary
核心原理
08
LeakCanary集成到项目
添加依赖 · 配置 · 初始化
LeakCanary
集成到项目
09
捕获第一个GATT泄漏
模拟一个简单的GATT对象泄漏
GATT
捕获第一个
10
分析泄漏链
LeakCanary通知中的引用链解…
分析泄漏链
LeakCanary
11
理解GATT对象的生命周期
创建 · 连接 · 发现服务
GATT
理解
12
常见错误
忘记调用close()造成GATT对…
常见错误
close
13
回调泄漏
BluetoothGattCallb…
回调泄漏
BluetoothGat…
14
Handler和Looper泄漏
在GATT回调中使用Handler导…
Handler
Looper
15
多线程问题
GATT操作在后台线程执行的泄漏风险
多线程问题
GATT
16
LeakCanary的弱引用机制
如何检测Activity/Fragm…
LeakCanary
的弱引用机制
17
扩展LeakCanary
自定义RefWatcher监控特定对…
LeakCanary
扩展
18
使用LeakCanary的HeapDump文件
手动分析hprof
LeakCanary
HeapDump
19
MAT工具分析GATT泄漏
使用Android Studio M…
MAT
GATT
20
泄漏链中的系统类
BluetoothManager · BluetoothAdapter等
泄漏链
系统类
21
案例1
扫描设备后未释放BluetoothL…
案例1
BluetoothL
22
案例2
GATT连接后忘记close导致的泄…
案例2
GATT
23
案例3
多个GATT连接管理不当引起泄漏
案例3
GATT
24
案例4
Service内部持有GATT对象导…
案例4
Service
25
预防策略1
使用try-finally确保clo…
预防策略1
try-finally
26
预防策略2
使用Lifecycle感知组件自动释…
预防策略2
Lifecycle
27
预防策略3
使用第三方库(如RxAndroidB…
预防策略3
RxAndroidB
28
测试驱动
编写单元测试验证GATT对象释放
测试驱动
GATT
29
性能影响
LeakCanary对应用性能的影响…
性能影响
LeakCanary
30
总结与最佳实践
构建无泄漏的BLE应用
最佳实践
BLE
所属VIP或分类
同VIP:Activity中Flow订阅泄漏案例
同VIP:Coroutine作用域不当导致蓝牙泄漏实战教程
同VIP:Coroutine作用域与OkHttp混合泄漏排查教程