android性能跟踪分析工具系列 - 目录

android性能跟踪分析工具系列 - 目录_第1张图片

各位小伙伴们,大伙都知道 android 有很多性能分析工具,有抓内存泄露的,有看视图层级的等等,大伙也应该用过或是看别人用过吧。这个重要性毋庸置疑了吧,比如你写得页面布局复杂,页面显示慢,你是知道慢,但是不知道具体哪里慢,有多慢,这就需要我们上分析工具啦,要不你说不知道问题具体在哪里啊,再者你写得 app 跑起来卡不卡,不光是自己凭感觉的,也是要通过工具来看看丢帧严重不严重啊,所以啊这些分析工具就是发现定位问题的,虽然找到问题不一定有好办法,但是发现不了是不是更挠头,更不爽啊。再说了这些工具开起来,各种图标亮一亮,尤其是领导一过,一看这么多看不懂的图标,工具,这小子好厉害啊,哈哈,装逼神器是也,从此加薪升职,走上赢取测试 MM的人生巅峰,嘿嘿... 冲着把逼装好,小伙伴们也得走起啊


android各种工具分类

  • app 每帧耗时追踪

    • GPU 呈现模式分析
      android 手机自带功能,可以查看每一帧的耗时,和不同类型任务耗时
    • systrace
      studio DDMS 里面的工具,可以查看每一帧的耗时,和造成耗时的方法
  • app 性能追踪

    • TraceView
      追踪方法的执行情况,查看方法的耗时和 cpu 资源消耗
    • blockcanary
      在主线程 looper 中添加 printer,利用 looper 在分发任务执行前后会调用 printer 的机制,判断任务前后的耗时,超过阀值就生成一条日志提醒
  • 内存追踪

    • MAT
    • Memory Monitor
    • Allocation Gracker
    • Heap Viewer
    • LeakCanary
  • GPU性能分析

    • Hierarchy Viewer
    • 调试 GPU过度绘制
  • 代码分析工具

  • lint

以上的种种工具有android studio 自带的,有 android 手机自带的,有第三方工具,这些都会一一介绍,不敢说讲解,只是给大家一个介绍,干个抛砖引玉的事罢了。这些工具都是有很多很高深的应用方式的,这个就不是我能知道的了,大伙还是的自己多多适应研究啊。


android 优化理论

万事初始,理论先行,理论都不知道,给你上面的那些工具你又能怎样呢,再说这些工具的目的也是为了发现定位问题,至于找到问题如何解决,什么算是问题,哪里可以优化这些没有理论是不行的

这里我就不班门弄斧了,已经有很多优秀的文章了,这里贴出来:

  • Android 之旅:Google 发布 Android 性能优化典范
  • 性能优化基本概念
  • Android渲染机制
  • Android内存优化之内存泄漏

我这里也稍稍总结了下,偷懒的可以去看哦,呵呵哒

  • android性能跟踪分析工具系列 - 各种理论/方法简介

我学习这些工具的起始源于知乎上的一个话题,一下子打开了我的视野,之前这些炫酷的工具不甚了解,有兴趣的朋友可以去看看,很短,但是对于不了解的朋友可以开阔不少眼界

  • 为什么我的动画很卡顿,而系统的很流畅

我对性能优化理解

上面我罗列了这么多工具,根本目的还是为了能够在我们需要的时候发现问题,定位问题工具只不过是具体的一种手段,这里我说下自己的体会

性能优化的核心做法无外乎4种:

  • 减少重复工作
    这里侧重于代码的具体编写,能 new 一个对象的,你非要 new 10个对象
  • 优化执行时机
    典型的案例是在页面的 onCreate 函数里,你干好多耗时操作,让一些不是很着急的工作去和页面加载工作抢资源,这里耗时操作可以在做一个延迟加载,在页面显示后再去干
  • 工作量拆分
    打个比喻好比工作量对于一个人来说很大,那么就多找几个人干。具体的例子有微信 V2.0 版的架构,就把 webview 放到单独一个进程去干,在操作系统来看一个进程就好比一个人一样的
  • 优化架构
    高玩都说一个好的架构比代码优化重要的多,打个比喻,图钱加载现在都是用一个全局的缓存,但是你在每一个页面里都维护一个缓存,那么你每个页面里的缓存维护的再好,性能也比不上好的架构只需维护一个缓存

文章目录

  • android性能跟踪分析工具系列 - 各种理论/方法简介
  • android性能跟踪分析工具系列 - GPU 呈现模式分析
  • android性能跟踪分析工具系列 - systrace
  • android性能跟踪分析工具系列 - TraceView
  • android性能跟踪分析工具系列 - Hierarchy Viewer
  • android性能跟踪分析工具系列 - LeakCanary
  • android性能跟踪分析工具系列 - blockcanary
  • android性能跟踪分析工具系列 - Memory monitor - jump java heap
  • android性能跟踪分析工具系列 - StallBuster

参考资料

  • LooperJing
  • 泽毛
  • 应用开发进阶必经之路之性能优化
  • Android 之旅:Google 发布 Android 性能优化典范

你可能感兴趣的:(android性能跟踪分析工具系列 - 目录)