繁体   English   中英

为什么Android中的CountDown Timer使用处理程序?

[英]Why does CountDown Timer in Android use a Handler?

倒数计时器的GrepCode显示它使用了处理程序。 使用处理程序是否有任何特定原因? 因为处理程序通常在我们使用线程进行用户交互时使用。 但是这里没有我可以在倒数计时器中看到的线程。 倒数计时器也可以在自身的UI线程中使用。

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

真正。 但是,“通常”!=“总是”。

碰巧的是, Handler具有用于计时目的的有用方法,例如CountDownTimer利用的postDelayed()sendMessageDelayed() 您也可以自己使用它们。 它们很轻巧,因为如您所注意到的,我们不需要像TimerTimerTask这样的独立线程。

倒数计时器也可以在自身的UI线程中使用。

它需要一个带有Looper的线程才能使用Handler CountDownTimer可能通常在主应用程序线程上使用,如果不是,则在某些单独的HandlerThread

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

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

您不仅可以使用处理程序在线程之间进行通信。 处理程序具有在定义的时间后执行某些代码的能力(postDelayed函数)。 在android OS中,Handler是首选工具(而不是java Timer),以防万一,您需要在时间间隔后执行一些代码。 在倒数计时器中,处理程序用于每隔一秒调整一次代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM