Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从应用程序退出时,线程暂停为挂起(异常NullPointerException)_Android_Multithreading_Nullpointerexception - Fatal编程技术网

Android 从应用程序退出时,线程暂停为挂起(异常NullPointerException)

Android 从应用程序退出时,线程暂停为挂起(异常NullPointerException),android,multithreading,nullpointerexception,Android,Multithreading,Nullpointerexception,我有一个应用程序使用具有以下代码的线程: @凌驾 公开作废运行() { Canvas=null while (running) { try { canvas=surfaceHolder.lockCanvas(null); synchronized (surfaceHolder) { { GenerateScan(canvas); processReque

我有一个应用程序使用具有以下代码的线程: @凌驾 公开作废运行() { Canvas=null

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();