性能优化工具篇总结

这段时间总结了一些常用的性能优化工具:


性能优化工具篇总结_第1张图片

一.应用codeReview工具

工具名 说明
StrictMode 检测应用主线程不规范代码
Lint AS中提供的代码分析工具,它能够检查出代码当中存在的问题,定义该问题的严重程度,并给出相应的解决方案,这样我们就可以快速地定位和修复问题。如果自定义一套Lint检测工具,那非常强大。

二、内存问题分析工具
2.1.明显内存问题初筛

工具名 说明
Allocation Tracker 查看堆内存分配情况,可以直接跳转源码
Heap Viewer 查看堆内存分配数据,提供初步判断
android内存分析命令 系统开发必备,当然,对app内存分析也是非常不错的帮手
Profiler 对cpu、 memory 、network进行更全面直观的分析,属于android monitor加强版

在3.0 之后 Profiler完全取代Allocation Tracker 和 Heap Viewer ,Profiler更直观更好用。

2.2.内存泄漏问题

工具名 说明
MAT 优点:精确详细分析,缺点:有一些门槛,且分析相对比较耗时耗力。
LeakCanaray 优点:傻瓜式分析工具 缺点:无法检测出Service的内存泄漏,无法检测最底层的MainActivity

三、重复布局&过度绘制

工具名 说明
调试GPU过度绘制 & GPU呈现模式 直观查看过度绘制问题
Layout Inspector 对视图层次结构分析,用来优化层级结构
Lint 有对应的检测项来检测层级太深 或者 View太多的问题

四、卡顿掉帧

工具名 说明
Systrace 卡顿分析之王 包括app的启动时间、渲染等、也包括系统问题,只要能复现就能很好定位问题。
TraceView 配合Systrace使用,擅长具体Method问题追踪
Simpleperf 通过火焰图,我们能非常直观地看到性能的瓶颈

五、功耗问题

工具名 说明
Battery Historain 分析电量、充电放电状态、一段时间内的用户使用行为、以及手机温度等等

六、其他三方工具(有兴趣可以去玩玩,在此不做分析了)

微信开源了一个Matrix ,好像非常强大,有时间可以玩一下。
另外还有:NetEase/Emmagee 、 frogermcs/AndroidDevMerics 等等工具。

以上工具基本能覆盖到你日常能遇到的所有性能问题了,工具在精不在多,而且只有多发现问题,多解决问题才能熟能生巧,灵活运用。大家有什么好的使用方法或者什么新的好工具,可以在下方留言,互相学习交流。

你可能感兴趣的:(性能优化工具篇总结)