使用警报管理器与 ScheduledExecutorService 调度相同任务有什么区别
What is the difference between scheduling same task using alarm manager vs ScheduledExecutorService
您好,我在网上看到我们可以使用闹钟管理器和 ScheduledExecutorService
.
以一定的时间间隔安排我们想要 运行 的任何事情
我想知道它们有什么区别,什么时候用什么
提前致谢。
ScheduledExecutorService
是 过程中的东西。如果您的进程由于其他原因已经存在,例如它正在提供前台 UI,并且您想使用 ScheduledExecutorService
进行定期工作,那很好。但是,一旦您的应用移至后台,其进程可能会随时消失,并带走您的 ScheduledExecutorService
,并且您将不再定期获得控制权。
AlarmManager
是在 过程之外的东西。如果您正在寻找 Windows' "Scheduled Tasks" 或 OS X/Linux cron
[=26= 的 Android 等价物] 工作,这就是 AlarmManager
(或 Android 5.0+ 上的 JobScheduler
)的用途。这些适用于您需要在后台定期 运行 应用程序代码但很高兴允许您的进程可能在这些期间终止的情况。
您好,我在网上看到我们可以使用闹钟管理器和 ScheduledExecutorService
.
我想知道它们有什么区别,什么时候用什么
提前致谢。
ScheduledExecutorService
是 过程中的东西。如果您的进程由于其他原因已经存在,例如它正在提供前台 UI,并且您想使用 ScheduledExecutorService
进行定期工作,那很好。但是,一旦您的应用移至后台,其进程可能会随时消失,并带走您的 ScheduledExecutorService
,并且您将不再定期获得控制权。
AlarmManager
是在 过程之外的东西。如果您正在寻找 Windows' "Scheduled Tasks" 或 OS X/Linux cron
[=26= 的 Android 等价物] 工作,这就是 AlarmManager
(或 Android 5.0+ 上的 JobScheduler
)的用途。这些适用于您需要在后台定期 运行 应用程序代码但很高兴允许您的进程可能在这些期间终止的情况。