leakcanary shark 库解析 一

shark是leakcanary 2.0之后引入的hprof分析库,用于替代效率低下的haha库,
在leakcanary中所处的位置如下图所示,包括shark-hprof,shark-graph,shark,shark-android四个模块


image.png

shark-hprof用于读取hprof文件,解析hprof,里边定义了hprof数据格式,和java的类,对象,基本数据类型一致


image.png

shark-graph 用于索引hprof,找到HeapClass HeapInstance HeapObjectArray HeapPrimitiveArray
image.png

shark用于过滤泄漏对象,构建GC引用链,找到泄漏路径
image.png

shark-android里 AndroidObjectInspectors用于检查一个对象是否泄漏及其泄漏,不泄漏原因。AndroidReferenceMatchers用户过滤掉系统或者library泄漏。


image.png

leakcanary源码分析:
image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。