这是我的情况:
我正在为 android构建一个游戏,我的游戏的活动由一个自定义的surfaceView组成,它具有游戏逻辑和渲染的线程.该架构类似于Google网站上的LunarLander演示.
我正在为 android构建一个游戏,我的游戏的活动由一个自定义的surfaceView组成,它具有游戏逻辑和渲染的线程.该架构类似于Google网站上的LunarLander演示.
@Override public void surfaceCreated(SurfaceHolder holder) { renderThread.start(); }
当我按住Home按钮退出游戏时,调用onPause()方法,调用surfaceDestroyed().在surfaceDestroyed我停止游戏Thread通过调用:
@Override public void surfaceDestroyed(SurfaceHolder holder) { synchronized(holder) { renderThread.stop(); } }
该应用程序去后台罚款.然后,当我通过按下图标重新启动应用程序时,我会在屏幕上显示“强制关闭”弹出窗口中的“已经开始的线程”消息.当活动在render线程上调用start()时,活动进入“surfaceCreated”方法时,会发生此消息.
现在我已经看了几个小时,不知道为什么会这样.我相信当我关闭应用程序时我的线程被停止,所以我不明白为什么它已经开始了.