Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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 SurfaceView线程_Android_Multithreading_Surfaceview - Fatal编程技术网

具有多个活动的Android SurfaceView线程

具有多个活动的Android SurfaceView线程,android,multithreading,surfaceview,Android,Multithreading,Surfaceview,我有一条线作为曲面视图对象的一部分: public class GameArena extends SurfaceView implements SurfaceHolder.Callback { private GameThread thread = null; // Etc } 这个表面视图是活动的一部分 稍后,当用户单击屏幕时,将启动一个新的活动,该活动具有自己不同的表面视图 我遇到的问题是,当用户在第二个活动中按下“主页”按钮时,如何/何时取消该线程,因为当他们再

我有一条线作为曲面视图对象的一部分:

public class GameArena extends SurfaceView implements SurfaceHolder.Callback
{
      private GameThread thread = null;
      // Etc
}
这个表面视图是活动的一部分

稍后,当用户单击屏幕时,将启动一个新的活动,该活动具有自己不同的表面视图

我遇到的问题是,当用户在第二个活动中按下“主页”按钮时,如何/何时取消该线程,因为当他们再次启动应用程序时,该线程已经存在


非常感谢

您不应该在SurfaceView中创建线程,而应该在拥有SurfaceView的活动中创建线程。此外,在生命周期中,线程和活动线程之间需要同步

我在网上看到的所有例子都有surfaceview对象中的线程-这不正确吗?