首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么安卓中的CountDown定时器要使用Handler?

为什么安卓中的CountDown定时器要使用Handler?
EN

Stack Overflow用户
提问于 2013-10-15 01:55:17
回答 3查看 3K关注 0票数 2

count down timer的GrepCode显示它使用了一个处理程序。使用处理程序有什么特别的原因吗?因为处理程序通常在我们使用线程进行一些用户交互时使用。但是这里没有我在倒计时计时器中看到的线程。此外,在UI线程中使用倒计时计时器时,它本身也可以工作。

EN

回答 3

Stack Overflow用户

发布于 2013-10-15 02:03:53

,因为处理程序通常在我们使用线程进行一些用户交互时使用。

是真的。然而,“一般”!=“总是”。

碰巧Handler有一些用于计时的有用方法,比如postDelayed()sendMessageDelayed()CountDownTimer利用了它们。您自己也可以使用这些工具。它们很好而且轻量级,因为,正如您所注意到的,我们不需要像TimerTimerTask那样的单独线程。

和倒计时计时器在UI线程中使用时也会自动工作。

它需要一个连接了Looper的线程才能使用HandlerCountDownTimer可能通常在主应用程序线程上使用,如果不在主应用程序线程上使用,则在一些单独的HandlerThread上使用。

票数 3
EN

Stack Overflow用户

发布于 2013-10-15 01:59:14

处理程序用于在倒计时计时器的生命周期中执行某些任务。

假设您正在实现一个秒表,并且希望UI每秒更改一次以显示倒计时,onTick()处理程序可以执行此操作。假设您必须在倒计时计时器结束工作时关闭UI,将代码放入onfinish()处理程序方法中。

票数 1
EN

Stack Overflow用户

发布于 2013-10-15 02:02:59

您不仅可以使用handler在线程之间进行通信。处理程序能够在定义的时间之后执行一些代码(postDelayed函数)。在android操作系统中,Handler是首选的工具(而不是java计时器),以防您需要在一段时间间隔后执行一些代码。在倒计时定时器中,处理程序用于在一秒间隔内调整代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19366184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档