gpt4 book ai didi

android - 每 10 分钟在后台执行一次数据库操作

转载 作者:行者123 更新时间:2023-11-29 16:08:27 25 4
gpt4 key购买 nike

我想每 10 分钟在后台执行一次数据库操作。什么是最好的方法?

也许:

  • 线程:如何?
  • 服务:很复杂?
  • AsyncTasks:周期太长

我目前的做法:

CountDownTimer clearDBsCountDownTimer = new CountDownTimer(600000, 600000) {
@Override
public void onFinish() {
ClearDBs();
}
};

private void ClearDBs() {
// Clearing databases here
clearDBsCountDownTimer.start();
}

但它不起作用:我认为是因为 ClearDBs() 方法等待 CountDownTimer 完成,对吗?

但是如何正确地做到这一点:有什么想法吗?

最佳答案

AlarmManager + IntentService 是最干净的方法。

使用 AlarmManager,您可以安排周期性的 IntentServices。

IntentService 是一种在后台线程(onHandleIntent() 调用)中执行特定操作并终止的服务。

它们是在后台执行定期作业的完美组合。

例如检查this post .

请小心此类操作,因为它们可能会耗尽电池电量(并激怒用户)。

正如@Squonk 所建议的,您可以使用setRepeating(...)setInexactRepeating(...) 来安排周期性事件。

如果您只想在您的应用程序处于前台时执行此后台任务,您仍然可以取消事件调用 manager.cancel()

关于android - 每 10 分钟在后台执行一次数据库操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15844059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com