Tailor是字节跳动西瓜Android团队开发的一款通用内存快照裁剪压缩工具,通过它可以在异常时直接dump出一个迷你内存快照。快照中没有任何敏感信息,更重要的是文件非常小的同时数据也相对完整,非常适合离线分析OOM及其他类型异常的调查定位。
开始使用第一步:将JitPack存储库添加到构建文件allprojects{repositories{maven{url'https://jitpack.io'}}}第二步:添加依赖dependencies{implementation'com.github.bytedance:tailor:1.1.0'}第三步:添加代码开始使用//在异常回调里通过Tailor获取快照if(einstanceofjava.lang.OutOfMemoryError){Stringpath=Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"mini.hprof";try{Tailor.dumpHprofData(path,true);}catch(IOExceptionex){ex.printStackTrace();}}//也可以直接对已经存在的hprof文件裁剪压缩Tailor.cropHprofData(source,target,true);Step4:Uploaddata##!!!应用需自己实现数据上传或回捞Step5:Processdata(Pythonversion3.5以上)##还原数据,target.hprof可通过AndroidStudio分析,通过MAT还需要hprof-conv转换python3library/src/main/python/decode.py-imini.hprof-otarget.hprof##解析验证python3library/src/main/python/verify.py-isource.hprof##裁剪压缩python3library/src/main/python/encode.py-isource.hprof-omini.hprof
评论