在我正在开发的游戏中,我想创建一个延迟。我做的延迟是使用这个代码的处理程序:
handler.postDelayed(new Runnable() {
public void run() {
animationDrawable.start();
}
},theDelay);
问题是我有一个暂停按钮,它会使一切停止,在你再次恢复之前不做任何事情。现在,即使游戏暂停,它也在运行。当我想暂停活动时,我得到了一个更改的布尔值。
我已经使用Thread,TimerTask和Handler搜索了解决方案,但是对于其中的每个人,我都看到了关于这些解决方案的安全使用的警告。
如何以安全的方式暂停和恢复此“倒计时”,并且在恢复时无需重新启动它?
答案 0 :(得分:3)
如何以安全的方式暂停和恢复此“倒计时”,而不必在恢复时重新开始?
startTime = System.currentTimeMillis();
onPause
内保存时间pauseTime = System.currentTimeMillis();
并取消hendler onResume
内,使用pauseTime - startTime