【发布时间】:2011-06-10 10:17:16
【问题描述】:
每次我创建新线程时,它都会被添加到主线程组中,即使我将线程归零,它仍然存在于主线程组中,从而导致内存泄漏。请帮忙
更新
public void surfaceDestroyed(SurfaceHolder holder) {
Log.d("mThread", "Surface Destroyed Called");
getHolder().removeCallback(this);
boolean retry = true;
_thread.setRunning(false);
while (retry) {
try {
Log.d("mThread", "b4 Interrupted");
_thread.interrupt();
Log.d("mThread", "b4 thread group Interrupted");
_thread.getThreadGroup().interrupt();
Log.d("mThread", "b4 join");
_thread.join();
retry = false;
} catch (InterruptedException e) {
Log.d("mThread", "Interrupted");
Thread.currentThread().interrupt();
_thread.getThreadGroup().list();
_thread = null;//======>here nulling thread
break;
}
}
}
【问题讨论】:
-
我没有太多代码要显示。请帮忙
-
and even I null the thread it still exists in main ThreadGroup.. 这是什么意思? -
亲爱的跑者我已经更新了代码请帮助我
-
任何正常(或异常但仍设法从本机代码调用
exit())的线程都将从拥有的线程组中逐出。基本上你需要线程停止执行。 -
我不能停止它已被弃用
标签: java android multithreading helper