1

例如,在被用户或电话置于后台后,我试图让我的游戏正常运行时遇到了一些麻烦。

我的应用程序有一个名为 GameView 的 SurfaceView 类,它具有 onDraw() 方法来为我的游戏和两个线程执行所有必要的绘制 - 一个用于调用 onDraw(),另一个用于为游戏逻辑进行必要的计算。

我成功实现了 onPause() 和 onResume()。(按下后退按钮时我暂停了两个线程,并在用户在 AlertDialog 中取消后恢复它们。)

现在我想让游戏在 onStop() 被调用时以同样的方式暂停。我暂停了两个线程并将我的字符位置保存在 savedInstanceState 中,但是当我再次启动我的应用程序时,没有调用任何方法(我检查了 Logcat)。我认为应该首先调用 onRestart(),然后调用 onStart(),然后调用 onResume(),但这些都没有发生。我究竟做错了什么?

(没有包含任何代码,因为这似乎是我不了解生命周期的问题,而不是代码的问题。如果有必要,我会发布您要求的部分。)

4

0 回答 0