美文网首页Android开发分享Android开发经验谈技术干货
Android:应用开发进阶必经之路之性能优化(下)

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

作者: 987edf3ecfa4 | 来源:发表于2019-05-20 15:52 被阅读9次

    上一篇: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、其它性能优化工具

    五、参考资料

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/habkzqtx.html