0
我正在用Java設計Android上的Open GLES遊戲。有沒有辦法將上下文傳遞到onDrawFrame(GL10 gl)?
顯然我使用了很多紋理,很快我就會用完內存。
我對Android和Java相當陌生,但我認爲解決這個問題最簡單的方法是用位圖摧毀對象,而目前我不需要讓垃圾回收器回收內存然後在我需要相應的紋理時在後期重新創建這些對象。
事情是這樣的:
background = null;
然後當我需要在背景物體的紋理:
background = new Background(context);
似乎非常簡單明瞭,不同之處在於,該上下文(我需要爲我的課背景功能,因爲它通過BitmapFactory從它加載紋理)不會傳遞到onDrawFrame(GL10 gl)
函數中,我的主要遊戲循環是在哪裏,我需要它!
如果我嘗試在GL10 gl之後添加上下文作爲第二個參數,則會出現錯誤 - 這似乎不可行。
有人知道如何將上下文傳遞到onDrawFrame或其他方式如何清除內存中的上下文對象,然後再次恢復它們?
I'afraid它不
GLSurfaceView.Renderer
– EasyCoder 2012-02-02 22:09:21
GLSurfaceView.Renderer>類概述>的公共方法> onDrawFrame(GL10 GL)/ onSurfaceChanged(GL10 GL,INT寬度,INT高度)/ onSurfaceCreated(GL10 GL,一個EGLConfig配置) - 恐怕只有這三種方法。 – EasyCoder 2012-02-02 22:18:02
這是一個*界面*。我指的是* view *。哪個對象實現該接口並不重要...在自定義的GLSurfaceView中實現它很常見,即「類MySurfaceView擴展了GLSurfaceView實現GLSurfaceView.Renderer」。 – 2012-02-02 22:42:52