【问题标题】:Are Android Views backed by OpenGL?OpenGL 支持 Android 视图吗?
【发布时间】:2020-02-13 10:57:59
【问题描述】:

原生 Android 视图(View 类和扩展它的所有东西,即 TextView、ImageView 等...),在底层使用 OpenGL 吗?

如果没有,对于普通的 Android 开发人员来说,使用 OpenGL 与使用常规视图来自定义 UI 组件相比有什么优势吗?

【问题讨论】:

  • 这个doc 部分表示“从 Android 3.0 开始......所有绘图操作......使用 GPU。”我一直认为它是指 OpenGL,但我可能错了。

标签: android opengl-es android-view android-canvas android-bitmap


【解决方案1】:

原生 Android 视图(View 类和扩展它的所有东西,即 TextView、ImageView 等...)在底层使用 OpenGL 吗?

基本上是的,OpenGL ES 是显示硬件系统用来在屏幕上绘制东西的 API。最近,Vulkan 作为替代 API 获得了支持,并将使用像 ANGLE 这样的项目来提供对 OpenGL ES 的支持。

由于Android Open Source Project 已经在Graphics system in Android 上有一个文档,您应该在那里查看更多详细信息。

对于普通的 Android 开发人员来说,使用 OpenGL 与使用常规视图来自定义 UI 组件相比有什么优势吗?

如果您想完全控制您正在渲染的内容,即游戏、3D 建模或a UI framework like Flutter 的用例,那么 OpenGL ES 或 Vulkan 将是合适的。

否则对于编写使用 Android UI 框架的自定义 UI 视图的常规 Android 应用程序来说是合适的,因为这将利用 Google IO 演示文稿中描述的所有工作:Drawn out: how Android renders (Google I/O '18)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 2014-04-29
    • 1970-01-01
    相关资源
    最近更新 更多