gpt4 book ai didi

android - 我有哪些选项可以检查 IntentService 是否已经在运行?

转载 作者:行者123 更新时间:2023-11-29 14:34:17 26 4
gpt4 key购买 nike

我有一个 AlarmService,它每 15 分钟唤醒一次并触发一个 IntentService。但是,我想确保如果先前启动的 IS 已经在运行,则 AlarmService 不会尝试启动另一个(IS 正在处理文件,如果第二个版本试图启动,将会出现奇怪的竞争条件对相同的文件执行操作)。

轮询系统以查看我的 IS 实例是否已在运行并跳过 AlarmService cron 的当前迭代的最佳方法是什么?

最佳答案

that the AlarmService doesn't try to start another one (the IS is dealing with files and there would be an odd race condition if a second version tried to act on the same files).

不会有竞争条件。首先,永远只有一个 IntentService 实例。其次,IntentServiceonHandleIntent() 中一次只会处理一个Intent

What's the best way to poll the system to see if an instance of my IS is already running and just skip the current iteration of the AlarmService cron?

不要那样做。在您的 IntentService 中,跟踪您上次在数据成员中工作的时间。如果在 onHandleIntent() 中,该值为 null,这是您一段时间内第一次通过,因此您可能想要继续进行工作。如果该值不为 null,则将其与当前时间进行比较,如果太快,则从 onHandleIntent() 返回。

关于android - 我有哪些选项可以检查 IntentService 是否已经在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123963/

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