java - 恢复倒计时

标签 java android

我目前正在更新一个 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/

相关文章:

java - 我们可以在finally block 中使用 "return"吗

java - 使用泛型的 JUnit 测试中的问题

android - 在 Android 应用程序中嵌入 ustream 实时视频

java - 错误 : resource android:attr/preserveIconSpacing is private

java - 安卓导入库

java - 如何在 Java 中将数字四舍五入到 n 位小数

java - jboss 4.2.2 工作线程初始化失败

java - 带有继承的类的 Hibernate 映射

android - 使用资源文件夹图像导出 Android 库项目

java - 如何使两个球相撞并朝相反方向偏转?