美文网首页
Android性能优化-绘制篇

Android性能优化-绘制篇

作者: RmondJone | 来源:发表于2022-06-29 16:58 被阅读0次

前言

在日常开发中,Android的性能优化是我们需要一直关注的点。那么本文也是老生常谈,说说Android的性能优化绘制篇。我们在日常开发中该怎么去做绘制优化的分析,以及一些绘制优化的一些场景。

一、Android绘制优化可以切入的点

我们知道,打游戏有一个参数叫fps,也就是帧率,也就是1s内页面刷新了多少次。如果帧率低于60fps,人的肉眼可以明显感知到画面卡顿。那么要想人眼感觉不卡,一帧绘制的时间也就必须低于1/60s,也就是16.33ms。

那么Android绘制优化也就是着手与解决哪些场景会导致一帧绘制的时间大于16.33ms。以及有什么工具可以帮助我们快速的发现帧绘制时间异常的地方。一般导致帧绘制时间过长的原因有以下几点:

  • Layout布局过于复杂
    Layout过于复杂,导致绘制时间变长,也就导致了一帧绘制的时间大于16.33ms
  • 执行动画过多,导致GPU和CPU负载严重
    执行了过多的动画,导致GPU和CPU负载严重,没法全部投入到帧的绘制中,导致绘制时间大于16.33ms
  • View的过度绘制
    同一时间某些像素点被绘制了多次,浪费了CPU和GPU资源
  • 频繁的内存GC
    我们都知道GC是需要暂停的,只有暂停了才能知道哪些对象是可回收的对象。而一般的GC暂停时间都在2ms左右有的时候甚至可能6ms,如果一帧内GC过于频繁,势必导致一帧的绘制的时间大于16.33ms
  • 在UI线程中做了耗时操作
    这个应该不用多说,如果UI线程里做了耗时操作,势必阻塞UI线程,从而影响了帧的绘制

二、Android绘制优化的一些工具

  • 开发者选项里的查看绘制时长的工具
    一般手机系统里都会有一个开发者工具,这个开发者工具里有一个查看帧绘制的工具。如下图所示,一帧的绘制时间就是一个柱状,大于红线就说明一帧绘制时间大于16.33ms。

  • 开发者选项里查看过度绘制的工具

一般手机系统里都会有一个开发者工具,这个开发者工具里有一个查看过度绘制的工具。如下图所示,如果区域显示红色,则代表该区域过度绘制可以进行优化。

相关文章

  • 性能优化

    Android UI性能优化实战 识别绘制中的性能问题性能优化(二) UI 绘制优化 通过Hierarchy Vi...

  • Android UI性能优化

    Ui性能优化 参考博客:Android UI性能优化实战 识别绘制中的性能问题Android UI性能优化详解 1...

  • 笔记:Android 性能优化

    Android 性能优化 Android性能优化主要有 布局优化、绘制优化、内存泄漏优化、响应速度优化、ListV...

  • app性能优化(转)

    Android面试——APP性能优化Android应用性能优化基础知识。布局优化避免OverDraw过渡绘制优化布...

  • Android优化文章精选

    Android性能优化典范 Android性能优化典范 - 第1季Android性能优化之渲染篇Android性能...

  • Android优化篇

    Android性能优化之渲染篇 - [ Android性能优化篇 [ 谷歌官方 ] ] - 看云 Android性...

  • Android性能优化 - CPU/GPU篇

    Android性能优化 - UI篇Android性能优化 - CPU/GPU篇 前言 本篇主要讲解APP性能优化路...

  • Android性能优化-内存泄漏篇

    Android性能优化-内存泄漏篇 性能优化

  • (十五)Android性能优化

    15.1 Android的性能优化方法 15.1.1 布局优化 15.1.2 绘制优化 15.1.3 内存泄露优化...

  • Android UI优化

    Android性能优化 - UI篇Android性能优化 - CPU/GPU篇 一、UI层级优化 借助工具:Hie...

网友评论

      本文标题:Android性能优化-绘制篇

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