我目前正在更新一个 Android 应用程序,该应用程序使用 AsyncTask 来执行倒计时计时器,该计时器不会在 onPause 或 onStop 时停止。 (该进程被 Android 缓存,并在 Activity 恢复后恢复)
但是,我认为这可以通过更好的方式完成,而不是 AsyncTask。这个计时器最重要的一点是它实际上并没有从之前的位置恢复——它需要表现得好像它一直在运行一样。
基本上所做的是我们有一个结束时间/日期,我们从中减去当前时间以获得计数器需要显示的内容。
实现它的最佳方法是什么?
最佳答案
如果它是您需要定期运行的东西,以便它更新您的 UI,我会使用 Timer 的一个实例: Android Timer Documentation
您传入的 TimerTask 可以像一个私有(private)类一样简单,它覆盖 run() 方法来执行时间计算和 UI 更新。只需确保在 onPause() 方法中调用 Timer 对象上的 cancel() 以释放其线程,并且您可以将其重新初始化为 onResume() 方法的一部分,以便它仅在您的应用程序运行时运行.
希望这能让你开始
数码相机
关于java - 恢复倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8886739/