2014-06-18 49 views
2

我有兩個具有TextureView的片段來顯示相機預覽或播放視頻。Android TextureView OpenGLRenderer:GL_INVALID_OPERATION

使用應用了一段時間,與屏幕播放後, 我得到這個錯誤在logcat的

OpenGLRenderer﹕ GL_INVALID_OPERATION 

我從我的片段釋放的一切, 所有成員都設置爲null。

@Override 
public void onDestroyView() { 
    Logg.DEBUG(TAG, "onDestroyView"); 
    super.onDestroyView(); 
    if (mMediaPlayer != null) { 
     mMediaPlayer.stop(); 
     mMediaPlayer.release(); 
     mMediaPlayer = null; 
    } 

    nextButton = null; 
    pauseButton = null; 
    backButton = null; 
    playButton = null; 
    frontTextView = null; 
    backTextView = null; 
    surface = null; 
    videoView = null; 
} 

,我看到整個視圖變得怪異...

我失去了什麼?

enter image description here

+0

中有你在任何設備試過嗎?或模擬器? –

+0

設備。 Nexus 5,Galaxy S3/4,Moto G等 – Shahar

回答

1

你的屏幕截圖顯示在系統的OpenGL上下文損壞/破損的情況。請檢查您釋放資源的線程。 GLContext應該從分配它的完全相同的線程中銷燬。在你的情況下,它可能是setSurface/setDisplay由錯誤的線程調用。

如果你有穩定的和簡單的步驟重現,你可以嘗試捕捉使用​​GL日誌,但它減慢你的應用程序很多捕捉

相關問題