为了做一些动作,我发现有几种选择:
这一切有什么大不同?制定计划行动的最佳做法是什么?
答案 0 :(得分:16)
AlarmManager
是全局“计时器”,这个人可以唤醒你的应用程序,即使它没有启动。沉重的家伙。ScheduledExecutorService
:用于JSE的标准Java方法,用于Java开发人员,简单而熟悉。作业将在与安排此作业的UI或线程不同的线程中执行。非常适合不处理UI和处理长而重的东西的服务。Handler
:用于安排作业的Android方式,在UI线程中执行作业(如果处理程序是在UI中创建的),因此它不会非常繁重,或者它只会冻结您的UI。答案 1 :(得分:6)
AlarmManager
独立于您的应用,并保证任务将会运行
其他两个作为Activity
/ Service
的一部分运行,具有生命周期限制(例如,可以随时杀死)。