在onResume/onPause中重新启动/暂停线程

Cyr*_*rad 7 multithreading android surfaceview onresume onpause

我有一个使用SurfaceView实现来显示对象的游戏.我有一个线程可以将SurfaceView定时绘制到屏幕上.游戏完全正常运行.不幸的是,只要游戏中断,就需要暂停功能.好吧,我知道我需要操纵onResumeonPause.

但我无法做到对.错误指向我回到surfaceCreated我开始线程的地方,告诉我线程已经启动.我尝试使用resume,并suspendonResumeonPause分别,但什么都没有改变.

我怎样才能做到这一点?我已经完成了如何使用File-I/O处理保存对象位置.

提前致谢.

Gra*_*eme 1

不知道代码的来龙去脉。

要“暂停”线程,您可以实现如下功能:

while(! this.isInterrupted())
    if(!paused)
    {
        ... Do something ...
    } else { try { Thread.sleep(100) } catch (InteruptedException ie) {} }
Run Code Online (Sandbox Code Playgroud)

这取决于是否Do something使您的表面视图无效或以其他方式控制应用程序中的进度。的访问器paused应该允许您暂停和恢复线程,而不会陷入架构的任何其他部分。