gpt4 book ai didi

android - 如何在Android上正确配置Window/SurfaceView/Opengl-surface的像素格式

转载 作者:太空狗 更新时间:2023-10-29 15:07:15 25 4
gpt4 key购买 nike

在我的 android 应用程序中,我使用以下 API:

A) Window.setFormat(像素格式)
B) SurfaceView.getHolder().setFormat(像素格式)
C) OpenGL: EGL10.eglCreateWindowSurface(...)

要正确使用/理解这些 API,我需要找到以下问题的答案(问题 4 对我来说最重要):

  1. A) 和 B) 在每种设备型号上受支持的值是多少 - 它们是否仅取决于 android API 版本,还是必须在运行时查询其他 API 才能找出这一点?

    <
  2. 当 A) 和 B) 根本没有被调用时,默认值是什么?它们是仅依赖于 Android API 版本还是必须在运行时查询其他 API?

  3. 当传递不支持的值或 android 安全降级为较低质量格式时,A) 和 B) 是否会失败(如何报告此类错误)(如何找出何时发生)?

    <
  4. 要使应用程序正常工作,A)、B) 和 C) 之间必须满足哪些依赖关系?

目前我找到的信息:

2
post声称 Window.format 默认值为
Android 2.3 及更高版本的 RGB888
用于旧设备的 RGB565
还有 Display.getPixelFormat() 方法已被弃用(在 android api 级别 17 中),现在总是返回 RGBA_8888

4
我假设 Surface.format 必须始终匹配 OpenGl.format。但是我发现设置 SurfaceView-format == RGB_565 和 OpenGl-format == RGBA_8888 在我的 Nexus7 上工作正常。

最佳答案

尝试添加此选项(到 AndroidManifest.xml 中)以避免默认的 RGB_565:

<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />

关于android - 如何在Android上正确配置Window/SurfaceView/Opengl-surface的像素格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20702569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com