Android 7.0上的GraphicBuffer被什么替代?

Android 7.0上的GraphicBuffer被什么替代?,android,android-ndk,egl,Android,Android Ndk,Egl,为了在EGL表面上快速传输纹理,我们已成功使用GraphicBuffer缓冲区,如本线程所述: 然而,在安卓7.0上,这不是一个选项。As GraphicBuffer使用私有库libui.so。那么,是什么取代了它呢?谷歌批准的EGL表面快速传输方法是什么?在即将发布的Oreo版本Android 8(API level 26)中,他们引入了。我比较了HardwareBuffer和GraphicBuffer类,它们都提供了创建和访问共享缓冲区对象的接口,其中新的HardwareBuffer是Gr

为了在EGL表面上快速传输纹理,我们已成功使用GraphicBuffer缓冲区,如本线程所述:

然而,在安卓7.0上,这不是一个选项。As GraphicBuffer使用私有库libui.so。那么,是什么取代了它呢?谷歌批准的EGL表面快速传输方法是什么?

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

我看到的Android 7的唯一替代方案是为一个项目手动提供apk所需的所有库


我们将不得不等到Android 8在beta测试阶段之后发布,预计将于2017年底前发布。如果您计划在发布日期之前使用新的API功能更新项目,并希望对其进行测试,您可以在谷歌设备上使用Android O预览版。

谢谢,很高兴知道这一点。在这个新的API中,什么是GraphicBuffer::getNativeBuffer的等价物?如何获得可以传递给eglCreateImageKHR或任何GL/EGL纹理创建函数的内容?根据NDK的文档:“您可以分配一个AHardwareBuffer结构,并使用它通过eglGetNativeClientBufferANDROID扩展获取EGLClientBuffer资源类型。您可以将该缓冲区传递给eglCreateImageKHR以创建EGLImage资源类型……”请参阅:以了解更多详细信息。希望这对您有所帮助。