虽然我发现了一个关于 Sharing the GLES20 context... 的问题,我觉得我的情况比较宽泛一些。
我有两个 GLSurfaceView
在 FrameLayout
中彼此分层。 (一个是 Harism 的 CurlView 来自 android_page_curl,在我的应用程序中作为库运行。另一个 GLSurfaceView 是我自己的。)每个 GLSurfaceView 都在自己的线程中运行。
我在 GLSurfaceView 上显示位图时遇到了不一致的问题。有时位图绘制得非常完美,有时只有部分可见。我敢打赌这两个 GLSurfaceView 正在竞争对屏幕内存的访问并互相践踏。
为了解决这个问题,我想我可以在调用onDrawFrame()
之前在应用程序中的一个单例 bool 值上同步
,但是在阅读Threading lightly... 之后我想我应该考虑得更周到一些。
我应该在什么对象上以及围绕什么代码同步
以使两个重叠的 GLSurfaceView 很好地播放?
最佳答案
出于与此处相似的原因,我最终在 GLSurfaceView 上使用了一个 View
programmatically adding SurfaceView to a FrameLayout which is Z-ordered under ImageView
关于android - 同步两个 GLSurfaceViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6523263/