UI性能优化

2020-09-18  本文已影响0人  crossroads
Android3.0的渲染机制

UI性能优化是一项系统工程,找到瓶颈,逐个修复,量变产生质变。

一. 性能优化工具

  1. 开发者选项过度绘制、布局边界、GPU呈现模式分析
  2. Android Profiler 分析CPU代码执行、内存分配、网络请求
  3. systrace追踪记录系统框架&应用的UI渲染过程
  4. BlockCanary监控主线程卡顿的方法调用栈,适合监控非UI渲染造成的卡顿。
  5. Hierarchy Viewer查看Debuggable应用的布局层次和节点渲染耗时。

二、小技巧

  1. 尽量减少view的数量,使用SpannableString实现样式差异化,用TextView+CompoundDrawable组合实现图片文字
  2. linearlayout不需要水平对齐多个textview的基线时,关闭baselineAligned可以减少measure计算
  3. 使用ViewStub延迟初始化,使用merge减少嵌套
    4.移除多余的背景, 不要在根布局绘制backgraound,放到activity主题里,android:windowbackgraoud设置。
  4. 避免绘制看不见的元素,避免在调用频繁的路径创建对象和做大量的计算,善用缓存和局部刷新机制。
  5. Canvas.clipRect/quickReject
    1>clipRect可以定义绘制的边界,边界以外的部分不会绘制
    2>quickReject可以用来测试指定区域是否在裁剪范围之外,如果要绘制的元素位于裁剪范围之外,可以直接跳过绘制步骤。
上一篇 下一篇

猜你喜欢

热点阅读