Android 从应用程序退出时,线程暂停为挂起(异常NullPointerException)
我有一个应用程序使用具有以下代码的线程: @凌驾 公开作废运行() { Canvas=nullAndroid 从应用程序退出时,线程暂停为挂起(异常NullPointerException),android,multithreading,nullpointerexception,Android,Multithreading,Nullpointerexception,我有一个应用程序使用具有以下代码的线程: @凌驾 公开作废运行() { Canvas=null while (running) { try { canvas=surfaceHolder.lockCanvas(null); synchronized (surfaceHolder) { { GenerateScan(canvas); processReque
while (running)
{
try {
canvas=surfaceHolder.lockCanvas(null);
synchronized (surfaceHolder)
{
{
GenerateScan(canvas);
processRequest=false;
}
}
}
finally
{
if (canvas!=null)
{
surfaceHolder.unlockCanvasAndPost(canvas);
}
} //<<<<<<<<<
}
}
运行时
{
试一试{
canvas=surfaceHolder.lockCanvas(null);
已同步(surfaceHolder)
{
{
生成扫描(画布);
processRequest=false;
}
}
}
最后
{
if(canvas!=null)
{
surfaceHolder.unlockCanvasAndPost(画布);
}
}//当表面被破坏时,您需要连接螺纹(通过按下后退按钮)。
在surfaceDestroyed()上,执行以下操作:
boolean retry = true;
if (thread != null)
{
thread.running = false;
while (retry)
{
try
{
thread.join();
retry = false;
}
catch (Exception e)
{
Log.v("EXCEPTION ON_SURFACE_DESTROYED!", e.getMessage());
}
}
}
thread = null;
activity.finish();
是安卓?黑莓?请添加相关标签。。。
boolean retry = true;
if (thread != null)
{
thread.running = false;
while (retry)
{
try
{
thread.join();
retry = false;
}
catch (Exception e)
{
Log.v("EXCEPTION ON_SURFACE_DESTROYED!", e.getMessage());
}
}
}
thread = null;
activity.finish();