在我正在开发的游戏中,我想创建一个延迟。我造成的延迟是使用带有以下代码的处理程序:
handler.postDelayed(new Runnable() {
public void run() {
animationDrawable.start();
}
},theDelay);问题是,我有一个暂停按钮,它会让一切停止,并且在你再次恢复之前什么也不做。现在,即使游戏暂停,它仍在运行。我得到了一个布尔值,当我想要暂停活动时,它会被更改。
我已经使用线程、TimerTask和处理程序来寻找解决方案,但对于我看到的所有这些解决方案,我都警告说使用它们都不安全。
我如何才能以安全的方式暂停和恢复这个“倒计时”,而不必在恢复时重新开始?
发布于 2013-01-01 20:15:17
如何以安全的方式暂停和恢复此“倒计时”,而不必在恢复时重新开始?
当您像这样启动处理程序时,请保存开始时间- startTime = System.currentTimeMillis();
onPause保存该时间pauseTime = System.currentTimeMillis();并取消hendler
onResume使用pauseTime - startTime重新创建事件
https://stackoverflow.com/questions/14110277
复制相似问题