我有一款安卓益智游戏。当谜题开始时,我取当前时间:
long startTime = System.currentTimeInMillis()
当玩家完成拼图时,我再次计时,减去开始时间并计算出经过的时间。这一切都好。
我的问题是当应用程序中断时该怎么办。例如通过电话。目前,拼图会自动保持之前的状态(就像在视图中一样)。然而,计算completionTime = currentTime - startTime
现在将无效。
我尝试使用保存经过的时间onSaveInstaceState(Bundle)
。然而它的对应物,onRestoreInstanceState(Bundle)
重新进入应用程序时不会调用。相反,onResume()
而是调用方法?我读到这是因为该应用程序尚未被“杀死”,而是仍在内存中。在“杀死”的情况下,我想视图的状态也会丢失?我认为在这种情况下没有必要跟踪视图,所以我也不会担心时间。
有没有办法从 onResume() 读取包,我应该只实现共享首选项吗?
我想避免更新游戏循环中的已用时间,因为这似乎效率低下。
我建议根本不要使用 SharedPreference。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)