【发布时间】:2015-03-05 22:25:42
【问题描述】:
我有一个简单的类来保存一些变量,以便在我的游戏中的活动之间共享它们,例如:
public class TheGlobals {
public static boolean IsFullGame = false;
}
现在,当游戏启动时,初始活动是 MainMenu,它确定用户是否购买了完整游戏,并相应地设置变量。例如,如果用户购买了游戏,它会这样做
TheGlobals.IsFullGame = true;
到目前为止一切顺利。从这里,用户单击 Play 并切换到发生主要游戏动作的 Game 活动。在第二个(游戏)活动中,有几个地方我通过访问该全局静态变量来检查它是否是完整/购买的游戏,并相应地启用或禁用某些功能。
现在,用户玩游戏并在某些时候点击 Home 按钮或切换到其他应用。一段时间后,用户回到我的游戏,从最近的应用程序启动它,这会打开他们离开的游戏,直接在第二个(游戏)活动中,用户愉快地继续玩。
我是否正确假设在这一点上,我的全局静态变量的值可以是 True 或 False,这取决于进程是否被破坏,或者是否有任何保证 Android 将恢复其值。我在想,如果进程保持活动状态,那么该值将保持为 True(就像在第一个活动中设置的那样)并且只要进程保持活动状态就会被保留;或者如果进程被破坏,并且用户稍后返回它,并直接在第二个(游戏)活动中打开我的游戏,那么在这种情况下全局静态变量的值将默认为 False(就像它在类上定义的一样级别,并且没有机会在第一个活动中设置)。
感谢任何cmets。
【问题讨论】:
标签: java android android-activity static global-variables