Android - 当应用程序处于锁定或睡眠状态时,定时器不会 运行 定期间隔

Android - Timer not running in perodic intervals when app is in locked or sleep state

在我的 android 项目中,我有一个周期性任务,每 60 秒更新一次 API 因为我正在使用 TimerTask 当应用程序处于后台或前景时一切正常,当应用程序处于锁定状态时state 或 sleep state 定时器毫秒是每分钟滞后一次,比如第一个 api 计时是 10.00.00 第二个 api 计时是 10.01.05 每计数毫秒都在增加

我已经尝试过工作管理器,但我的周期性间隔是 60 秒,我需要一个每 60 秒运行周期性作业而没有任何时间滞后的答案

我引用了这段代码 https://github.com/codexpedia/android_sync_adapter 它工作正常 我在 SyncAdapter 中还有一个问题,一些设备同步适配器会跳过 例如:- 如果我设置 60 秒间隔,它每 5 分钟跳过 1 分钟,你能帮忙吗我

如果应用程序处于打瞌睡模式,任何其他适用于 7 和 8 api 版本

的解决方案

由于您的要求是在应用程序和服务器之间同步数据,因此您可以使用 Android 的 本机功能 SyncAdapter ,这将根据时间间隔同步数据。您可以在 docs 中阅读相关信息。我建议使用这种方法而不是 TimerTask。