所以我发现,随着我MAT不断创造多个ThreadssurfaceCreate
不过,我认为我需要这些线程,但是ViewThread当用户浏览我的应用程序时,这种方法会导致多个实例,这是内存泄漏。
如何重新组织创建和处理线程的方式,以免发生这种情况,或者如何阻止泄漏的发生?
@Override
public void surfaceCreated(SurfaceHolder holder) {
    loading=false;
    if (!mThread.isAlive()){
        mThread = new ViewThread(this);
        mThread.setMenuRunning(true);
        mThread.start();
    }
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
    if (mThread.isAlive()){ 
        mThread.setMenuRunning(false);
    }
}
Career我五次打开并离开游戏的活动,这就是显示在MAT

编辑:从那以后,我发现依赖于surfaceDestroyed我的线程的破坏是不可靠的。我现在从不同的方法调用适当的线程破坏调用,触发onPause。