Android 与活动生命周期相关的问题

Android 与活动生命周期相关的问题,android,back,activity-lifecycle,Android,Back,Activity Lifecycle,在我的android游戏中,有一个街机模式,运行60秒。游戏屏幕由一个游戏板组成,游戏板由在surfaceview上绘制的6x6彩色圆圈矩阵组成。有一个计时器和记分板来记录时间和分数。计时器基本上是一个单独的线程,睡眠60秒,并每秒更新一个附加到UI线程的处理程序。一旦剩余时间变为零,游戏将进入另一项活动,在该活动中显示玩家的当前分数和过去分数。如果玩家按下“后退”键,则之前的活动(游戏屏幕)将可见,但记分牌不会重置,但矩阵会重新绘制。所有的编码都在onCreate()方法或为游戏创建的新方法中

在我的android游戏中,有一个街机模式,运行60秒。游戏屏幕由一个游戏板组成,游戏板由在surfaceview上绘制的6x6彩色圆圈矩阵组成。有一个计时器和记分板来记录时间和分数。计时器基本上是一个单独的线程,睡眠60秒,并每秒更新一个附加到UI线程的处理程序。一旦剩余时间变为零,游戏将进入另一项活动,在该活动中显示玩家的当前分数和过去分数。如果玩家按下“后退”键,则之前的活动(游戏屏幕)将可见,但记分牌不会重置,但矩阵会重新绘制。所有的编码都在
onCreate()
方法或为游戏创建的新方法中。
onPause()
onResume()方法中没有代码。那么为什么要重新创建和重新绘制surfaceview?我认为按back键不会运行
onCreate()
方法。

如果显式调用
finish()
,您的第一个活动将被破坏

即使您不这样做,您的活动也可能在完全模糊后随时被破坏


因此,假定不会调用
onCreate()
,这是错误的。

那么当按下后退键时会发生什么?调用onCreate()方法?当您的活动被其他活动完全遮挡时,操作系统可以在她处于后台时杀死她。因此,可以调用onResume或onCreate(然后是onResume)。首先,如果调用了
onCreate()
,那么为什么记分板不重置?第二,我会在第二个活动出现时立即按下“后退”按钮,因此我认为旧活动不会很快被操作系统终止。您的代码一定有问题,但您没有显示任何错误。您确定第二次进入重置功能吗?您可以调试一个位,但没有重置功能。请将游戏重置逻辑移到恢复时的
onResume
。每次游戏屏幕激活时都会调用此命令。如果玩家接到电话,是否会重置游戏?是的,我想是这样。调用startActivity后运行重置逻辑如何?这样,当您返回时,它将处于重置状态。或者,您可以为onResume设置一个标志,以检查它是否应该重置。