android 渲染器,android – 如何停止Open GL渲染器
找到答案here,这个“LemonDev”确实拯救了我的生命:可以停止/销毁OpenGL表面视图,并通过调用OnPause()将新的GLSurfaceView设置为新的渲染器,并使用Handler和Runnable postDelayed destroy,如下所示:final Renderer newRender = new GRenderer(this);final LinearLayout l
找到答案
here,这个“LemonDev”确实拯救了我的生命:
可以停止/销毁OpenGL表面视图,并通过调用OnPause()将新的GLSurfaceView设置为新的渲染器,并使用Handler和Runnable postDelayed destroy,如下所示:
final Renderer newRender = new GRenderer(this);
final LinearLayout ll = (LinearLayout) this.findViewById(R.id.main);
graphicView.onPause();
Handler handler = new Handler();
class RefreshRunnable implements Runnable{
public RefreshRunnable(){
}
public void run(){
ll.removeView(findViewById(R.id.graphicView));
GLSurfaceView surfaceview = new GLSurfaceView(getApplication());
surfaceview.setId(R.id.graphicView);
surfaceview.setRenderer(newRender);
ll.addView(surfaceview);
graphicView = (GLSurfaceView) findViewById(R.id.graphicView);
}
};
RefreshRunnable r = new RefreshRunnable(this);
handler.postDelayed(r, 500);
这将创建一个新的渲染器并暂停GLSurfaceView.然后应用程序将“销毁”一些你无法用SDK接触的内部东西……之后,你可以销毁GLSurfaceView,创建另一个并为其设置新的渲染器.
我现在的问题是纹理还没有刷新,但是,这仍然很棒!
更多推荐
所有评论(0)