Android:应用开发进阶必经之路之性能优化(下)

上一篇:Android:应用开发进阶必经之路之性能优化(上)

2、IDE Android Studio

Android Studio是谷歌官方提供的集成开发环境(后面简称AS),同样作为Android集成开发环境的Eclipse很好用,但AS更高效、顺手、便捷,这在没有使用AS之前是无法感受到的。AS不仅提供了程序开发、构建、调试的环境,还提供了一系列优化应用质量的工具,这些工具包括静态代码检测工具Inspect Code、Android Monitor、Analyze APK...,同时还集成了Android Device Monitor。通过这三个工具基本上可以检测、分析、定位大部分Android应用的性能问题。

Inspect Code:

AS中的Insepct Code是用于对代码进行静态质量分析的工具,它是lint的增强版,可以检测出来很多潜在的问题,同时给你提供改善建议;它不仅可以对整个工程、某个module、某个文件进行所有规则的代码静态质量检测,还可以针对某一项规则对整个工程进行检测:

在Inspection窗口的左侧,有提供了一系列快捷按钮用于快速分析、定位、修复代码中的问题:

打开Settings的Inspections选项,可以看到这个工具能够检测出很多关于Java和Android方面的性能问题,比如布局导致的过渡绘制、在onDraw方法中创建新的实例、Handler内部类导致的潜在内存泄露、使用SparseArray代替HashMap的建议、布局层次太深、TypedArrays和VelocityTrackers没有调用recycle方法导致的内存泄露、存在没有使用的资源文件、系统方法取代自定义实现功能代码块的建议、IO操作导致的内存泄露问题、String和StringBuilder的相互替换等等;随着AS的不断更新,这个功能在不断完善,最新的AS版本中,很多代码层面的问题都能够被检测出来。

通过这个工具可以删掉无用资源,检测出明显的性能问题,以及对代码可读性和性能方面的建议,使用起来很简单,建议每天作为日常,提交代码前都检测一次,这比在持续集成过程中,使用sonar等代码质量工具分析更方便。

更多关于Inspect Code的描述参见:

(1)Inspection Tool Window

(2)Android Studio提高代码质量必杀技:Inspact Code

Android Monitor:

Andorid Monitor提供了一系列的性能检测工具,通过它可以帮助你剖析应用的性能,以便优化、调试和改善应用各方面的性能问题;Android Monitor可以从如下几个方面对真机/模拟器中正在运行的程序进行性能监控:

(1)Log日志,包括系统日志和自定义日志;

(2)实时监控内存、CPU、GPU的使用情况;

(3)实时监控网络流量的消耗(只适合于真机);

(4)采集运行时信息并保存为文件,供工具分析;

LogCat日志窗口:

通过Logcat日志窗口可以查看系统事件以及程序自定义的日志信息,比如GC消息、程序运行时异常日志、当前启动应用的包名及入口等;它不仅提供了实时查看设备日志信息的功能,还有一段时间的日志缓存;同时提供了按照搜索(支持正则表达式)、按照等级/自定义标签/指定包名筛选日志的功能,以帮助你快速定位问题。

Logcat窗口是以行为单位对日志进行缓存,当窗口中的缓存日志超过指定的行数上限时,会删掉最先缓存的日志。如果你觉得窗口中的日志缓存清除太快了,不便于跟踪问题,可以在AS安装目录下的"bin/idea.properties"文件中增加“idea.cycle.buffer.size=你想缓存的行数”来调整窗口给的日志缓存行数,但建议不要调得太高,否则会严重影响AS的体验,缓存行数越多AS就会越卡,控制在5000行以内已经基本满足需求了。

在程序中使用Log类打印日志时,TAG的长度建议不要超过23个字符,否则会做截断处理,影响问题的准确跟踪。

Logcat窗口的左侧有一列工具快捷按钮,方便我们快速找到我们需要的信息:

内存监控窗口:Memory Monitor

CPU监控窗口:CPU Monitor

GPU监控窗口:GPU Monitor

网络流量监控窗口:Network Monitor

HPROF查看和分析工具:HPROF Viewer and Analyzer

内存分配跟踪工具:Allocation Tracker

函数调用栈分析工具:Method Tracer

查看系统信息工具:System Information

Analyze APK...:

3、其它性能优化工具

五、参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值