虽然我发现了一个关于共享 GLES20 上下文的问题...,但我认为我的情况更广泛一些。
我有两个GLSurfaceView
s 在一个FrameLayout
. (一个是来自android_page_curl的Harism的CurlView作为库在我的应用程序中运行。另一个 GLSurfaceView 是我自己的。)每个 GLSurfaceView 都在自己的线程中运行。
我在 GLSurfaceView 上显示位图时遇到不一致的问题。有时位图绘制得很完美,有时只有一部分是可见的。我敢打赌,这两个 GLSurfaceView 正在竞争访问屏幕内存并互相践踏。
为了解决这个问题,我想我可以synchronize
在调用之前在应用程序中使用一个单例布尔值onDrawFrame()
,但是在阅读Threading 之后......我想我应该更周到一点。
在什么对象上,我应该围绕什么代码synchronize
使两个重叠的 GLSurfaceViews 玩得很好?