當我應該重新創建vbos,着色器和紋理時,你能描述我嗎?我知道OpenGL函數是在獨立線程中調用的。我在Activity的onResume中調用GLSurfaceView的方法onResume(與onPause方法相同)。 當GLContext丟失? 讓我們假設用戶觸摸主頁按鈕。調用Activity的onPause方法。我應該刪除vbo,着色器,紋理嗎?或者我應該在調用onDestroy時刪除這些資源(恢復GL線程以刪除它們?)?如果用戶點擊返回按鈕怎麼辦? 另一個問題。我應該保留位圖,Java中的頂點屬性來重新初始化VBO,紋理? 現在我每次調用Activity的onPaused方法時都會刪除所有着色器,紋理圖案&。我向事件隊列發送特殊事件。在onSurfaceCreated我重新啓動所有資源。它的工作,但它不是很快&它消耗大量的內存。有更好的解決方案嗎?Android活動生命週期和OpenGL ES 2.0(VBOs,着色器,..)
1
A
回答
1
只要您使用GLSurfaceView,不要擔心刪除OpenGL資源。每次用戶點擊主頁按鈕/返回按鈕時,EGL上下文以及與該上下文相關的所有資源(紋理,VBO,着色器)都將被刪除。所以你有責任在onSurfaceCreated()方法中創建它們。 此外,我不認爲刪除onDestroy()中的資源將工作,因爲那裏不會是一個有效的EGL上下文。
相關問題
- 1. OpenGL ES 2.0中的着色器Android
- 2. Opengl Es 2.0着色器管理器
- 3. OpenGL ES 2.0着色器最佳實踐
- 4. 從OpenGL ES 2.0着色器返回值
- 5. iOS OpenGL ES 2.0着色器的限制
- 6. PowerVR SGX535着色器性能(OpenGL ES 2.0)
- 7. OpenGL ES 2.0修改着色器變量
- 8. OpenGL ES 2.0點光源着色器
- 9. OpenGL ES 2.0等離子着色器
- 10. FAUX HDR opengl ES 2.0着色器算法
- 11. opengl es 2.0加速着色器效果
- 12. opengl es 2.0 - 優化片段着色器
- 13. Android活動生命週期
- 14. android活動生命週期
- 15. Android活動生命週期
- 16. OpenGL ES 2.0和GLKit:從GLKBaseEffect着色器到OpenGl
- 17. OpenGL ES和OpenGL兼容着色器
- 18. 在OpenGL ES 2.0頂點着色器中生成頂點
- 19. Android活動生命週期與流程生命週期
- 20. Android項目生命週期 - 活動生命週期之前(Activity.onCreate())
- 21. Android 2.3 - 不能編譯openGL 2.0 ES片段着色器
- 22. Opengl es 2.0自定義着色器低fps(android)
- 23. OpenGL ES 1.1/2.0着色器在Android上比較圖像
- 24. Android中的着色器在OpenGL ES中
- 25. OpenGL ES 1.x着色器
- 26. 通過glUniform OpenGL ES 2.0在着色器中移動對象
- 27. Opengl ES動態重載着色器
- 28. Android活動生命週期的混亂
- 29. Android活動生命週期問題
- 30. OpenGL ES 2.0中片段着色器的非均勻顏色值