博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:应用开发进阶必经之路之性能优化(下)
阅读量:6207 次
发布时间:2019-06-21

本文共 1740 字,大约阅读时间需要 5 分钟。

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)

(2)

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窗口的左侧有一列工具快捷按钮,方便我们快速找到我们需要的信息:

内存监控窗口:

CPU监控窗口:

GPU监控窗口:

网络流量监控窗口:

HPROF查看和分析工具:

内存分配跟踪工具:

函数调用栈分析工具:

查看系统信息工具:

Analyze APK...:

3、其它性能优化工具

五、参考资料

  • ()

转载地址:http://eokja.baihongyu.com/

你可能感兴趣的文章
高效、稳定、安全:上海医药集团入云记
查看>>
倪光南:建议政府停止采购和使用“Windows 10政府版”
查看>>
韩购物网站服务器遭黑客攻击 千万用户信息被泄
查看>>
华为KunLun助力海澜之家升级ERP系统提升运营效率
查看>>
启动大数据项目之前需要问的5个问题
查看>>
EK空调:让数据中心制冷更节能、更高效
查看>>
DevOps成功实施:变化贯穿始终
查看>>
Oracle首席执行官Hurd:云迁移由业务现实驱动 将有两大SaaS阵营
查看>>
石油公司高管假扮马斯克窃取机密 被特斯拉提起控诉
查看>>
微网:光伏之蜜糖 电网之砒霜?
查看>>
这三家公司将要改变家庭无线路由器
查看>>
专访云知声CEO黄伟:如何打造人工智能「云端芯」生态闭环
查看>>
中兴通讯完成5G国家试验mMTC海量连接测试
查看>>
阿里钉钉内部信惹争议 企业专注创新取决于社交工具?
查看>>
ERP实施中最可怕的是需求变更
查看>>
记录ICallbackEventHandler 同时并发访问容易引发的问题
查看>>
云安全的障碍不是技术!
查看>>
思科1.83亿美元收购保密软件公司ScanSafe
查看>>
安防:激光对射周界报警系统原理解析系统组成
查看>>
2017年关于物联网的五大预测
查看>>