簡體   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