使用ScheduledExecutorService
/ Timer
/ Handler
有哪些优缺点?据我所知,在Android而不是Timer
中,需要使用Handler
,但ScheduledExecutorService
呢?
据我所知,Handler
和ScheduledExecutorService
仅适用于相对时间,对吗?
答案 0 :(得分:5)
这三个允许您在不同的(例如非主要)线程上执行任务。 Handler允许您使用传递Actor模式的消息在线程之间安全地进行通信。它不允许你做时间/延迟/等。
ScheduledExecutorService是一种非常通用的线程管理解决方案。您使用特定数字将其初始化为工作线程,然后为其提供工作单元。您可以延迟/时间和重复工作单位。
Timer类有一个简单的API,类似于ScheduledExecutorService,用于一次性单线程使用。官方API建议不要使用此类,而是滚动自己的ScheduledExecutor。