Android的UI操作不是線程安全的,這意味着如果有多個線程併發操作UI組件,可能導致線程安全問題。所以,Android只允許UI線程修改Activity裏的UI組件。
Android只允許UI線程修改Activity裏的UI組件。當一個程序啓動時,Android會同時啓動一條主線程(Main Thread),主線程主要負責處理與UI相關的事件。所以主線程又稱爲UI線程。
Handler類的作用:
- 在新啓動的線程中發送消息。
- 在主線程中獲取、處理消息:重寫回調方法。
Handler通過Looper(每個線程只能有一個Looper)向MessageQueue發送、接受Message。
在線程中使用Handler的步驟:
- 調用Looper的prepare()方法,爲當前線程創建Looper對象
- 創建Handler子類的實例,重寫handMessage()方法,負責處理來自於其他線程的消息。
- 調用Looper的loop()方法啓動Looper。