什么取代Android 7.0上的GraphicBuffer?

gri*_*000 5 android android-ndk egl

为了快速将纹素传输到EGL表面或从EGL表面传输,我们已成功使用了此线程中描述的GraphicBuffer缓冲区: 如何在android ndk中使用GraphicBuffer

但是在Android 7.0上不是一个选项.由于GraphicBuffer使用私有库libui.so.那么取而代之的是什么?什么是Google批准的快速转移到EGL表面或从EGL表面转移的方法?

spa*_*lug 4

在即将发布的 Oreo 版本的 Android 8(API 级别 26)中,他们引入了硬件缓冲区包装器。我比较了 HardwareBuffer 和 GraphicBuffer 类,两者都提供了一个接口来创建和访问共享缓冲区对象,其中新的 HardwareBuffer 是 GraphicBuffer 的通用版本。因此,您将不再需要链接 API 26+ 中的非公共库。

我见过的 Android 7 的唯一替代方法是手动为项目提供所有必需的库和 apk。

我们必须等到 Android 8 在 Beta 测试阶段之后发布。发布路线图可以在这里找到,预计发布时间是 2017 年底前的某个时间。如果您计划在发布日期之前使用新的 API 功能更新您的项目并想要对其进行测试,您可以使用 Android O 预览版Google 设备上的版本。