美文网首页
Android性能分析的几种方法

Android性能分析的几种方法

作者: 碎语说 | 来源:发表于2018-07-19 16:05 被阅读0次

    Android性能分析的几种方法

    1. 通过Memory Monitor 查找内存泄漏
      Android Profiler中的Memory Monitor可以实时查看app的内存占用情况。通过操作app界面,抓取某段时间的heap dump分析内存泄漏情况


      image

    这个图是从主页反复进入选择APP页面过程抓取的heap dump信息,通过搜索SelectAppActivity发现存在多个实例,存在内存泄漏无疑,要查找具体泄漏的原因需要用到mat工具。
    将刚才的heap dump导出文件,然后通过android 命令行工具hprof-conv转换为标准的heap dump,导入mat查看


    image

    然后通过path to GC Roots找到引用路径,发现是EventBus未注销引起的泄漏


    image image
    1. LeakCanary
      LeakCanary是square公司出的一个java/Android内存泄漏检测工具,具体使用见github:https://github.com/square/leakcanary

    在apk运行过程中发生内存泄漏


    image
    1. 使用Android Device Monitor中的TraceView分析性能
      TraceView有两种使用方法:
    • 方法级别:在代码中手动开启,统计某一函数的耗时,会在sdcard中输出trace文件,导入ddms即可查看
      Debug.startMethodTracing('tracepath') Debug.stopMethodTracing()
    • 时间段级别:通过ddms的Method Profiling或者Android Profile CPU中的method trace开启,用于统计一段时间内的函数耗时
    image

    比如分析list滚动性能,通过incl cpu time / call total 计算每个onBindingViewHolder耗时,来查看是否有阻塞操作


    image

    相关文章

      网友评论

          本文标题:Android性能分析的几种方法

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