View 的软件绘制和硬件绘制
2022/1/3 6:11:19
本文主要是介绍View 的软件绘制和硬件绘制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
View 的软件绘制和硬件绘制
开发 android 应用的时候,常有一些问题会涉及到 “硬件加速” ,例如在某个页面上打开/关闭硬件加速来解决特定问题。那么今天就简单说下具体 硬件绘制 相关的一些内容。
应用里的页面是以一棵棵 View 树表示的,其中每个 view 代表屏幕上一块内容。而实际显示的内容便是 view 绘制出来的,view 的绘制是从 view 树的逻辑控制者——也就是对应的 ViewRootImpl 对象触发的。其中包括软件绘制和硬件绘制两种方式。
当 ViewRootImpl 设置了 开启硬件加速 的时候,会使用硬件绘制的方式进行绘制,否则使用软件绘制。硬件绘制和软件绘制类似于对同一个接口的两种实现。其基本的绘制步骤都一样的,只是两种绘制方式里每个步骤实现不同。
View 的软件绘制
View 的软件绘制和硬件绘制的核心是 draw,也就是通常所说的 measure-layout-draw 中的 draw ,也就是绘制流程。即遍历 view 树,自上向下遍历依次调用 draw。其中会涉及 view 的绘制过程以及向下分发等。
在此 draw 的流程之前以及之后,需要进行一些处理。大家都知道 draw 是依赖于画布 canvas 的,canvas 只有在获取之后才可以进行 draw,并且 draw 完成后需要将 canvas 交给实际绘制到屏幕上的下一个环节。
这篇关于View 的软件绘制和硬件绘制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南