您好,登錄后才能下訂單哦!
Handler是android給我們提供用來更新UI的一套機制,也是一套消息處理的機制,我們可以發送消息,也可以通過它處理消息。Handler在frameWork的應用也非常廣泛,比如說最常見的Activity的生命周期,onCreate、onResume、onDestory等方法都是通過Handler發送不同的消息去回調的,其實,在frameWord當中,Activity的交互,大部分都是通過AMS(activity manager service)處理的,整個應用程序的ActivityThread就是用過Handler的機制接收到AMS給我們發送的生命周期一些管理.
Android的開發是一定要用到handler的,因為Android在設計的時候,就封裝了一套消息創建、傳遞、處理機制,如果不遵循這樣的機制,就沒有辦法更新UI消息的(當然也可以自己設計一套消息創建、傳遞、處理的機制,不過會相當麻煩,所以最好用Google提供的這種機制),就會拋出異常
這是Android的Handler文檔
里面講到Handler主要有兩個用途,一個是定時地發送message或一個runnable對象,另一個是在一個線程當中處理并執行相應的action.
當創建一個程序的時候,就會創建一個進程,這個進程在整個activity當中就是一個UI(主)線程,該線程就是activity thread的線程。
如果我們在子線程中更新UI而不使用Handler做媒介的話,程序將會崩潰,下面嘗試一下:
從第三行的錯誤代碼提示中可以看出:只有在主線程中才可以直接更改UI界面
下面就在子線程中通過使用Handler修改UI,功能是實現多張圖片每個一段時間自動切換
這樣程序就可以運行了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。