IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android 绘制优化 -> 正文阅读

[移动开发]Android 绘制优化

序言

在开发app时,我们经常会提及一个词,卡顿。因为肉眼可接受的最低流畅度,为60帧/s。所以,当1秒内无法绘制到足够的帧数时,从肉眼看,就会表现为卡顿。因此,要确保每秒能够绘制到足够的帧数,平均地讲,我们需要确保每帧的绘制时间不高于16.6ms(1s % 60 == 1000ms % 60 ~= 16.6ms)。如何尽量确保每帧的绘制时间低于这个值。我们需要先知道,究竟是什么在耗时,这样才能对症下药,而这也是我们这篇文章所要探讨的。

一、GPU渲染分析。

  1. 开启渲染监控。开发者模式->监控->GPU呈现模式分析->条形图。如下图所示:
    在这里插入图片描述
  2. 条形图分析。这里颜色种类比较多,我们只讲几个重要的。
  • 深蓝色。表示onDraw()方法的执行时长,该方法越耗时,对应色就越长。
  • 浅绿色。表示onMessure/onLayout的执行时长,这两个方法越耗时,对应色也越长。
  • 黄 色。表示CPU等待GPU执行绘制的时间,GPU执行绘制越久,对应色也越长。
  • 红 色。表示Open GL执行由Android 2D 渲染器发送过来的,需要绘制/重绘的渲染列表。总的需要渲染的任务越多,执行的时间越长,则对应色也越长。
  • 浅蓝色。表示发送位图信息到GPU的时间,需要绘制的图片越大,越多。对应色也越长。(这里只是发送,还没绘制…)
  • 深绿色。表示在连续的2帧绘制之间,所占用的时间。正常情况下,绘制完第1帧,会马上开始执行第2帧的绘制。但如果,在绘制完第1帧后,在绘制第2帧之前,因为第2帧的计算、测量或其它操作,导致耗时过多。则会导致第2帧绘制的总时长变长,进而可能导致卡顿。当深绿色过多时,可以排查一下,是不是有些计算任务可以交给非UI线程去处理。

… 待续

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:54:40  更:2021-07-23 10:55:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 4:41:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码