上一節(jié)我們講解了Handler的基本使用方法,也是平時大家用到的最多的使用方式。那么本節(jié)讓我們來學(xué)習(xí)一下Handler的工作原理吧?。?!
我們知道Android中我們只能在ui線程(主線程)更新ui信息,那么你們知道為什么只能通過Handler機(jī)制更新ui嗎?其實最根本的目的就是解決多線程并發(fā)的問題。
假設(shè)在一個Activity中有多個線程去更新ui,并且都沒有加鎖,那么會是什么樣子?
導(dǎo)致的結(jié)果就是更新界面錯亂。
如果對更新ui的操作都進(jìn)行加鎖處理的話又產(chǎn)生什么問題哪?
性能下降。
處于對以上問題的考慮,Android給我們提供了一套更新ui的機(jī)制,我們只需要遵守這樣的機(jī)制就可以了。根本不用去關(guān)心多線程問題,因為所有更新ui的操作,都是在主線程的消息隊列當(dāng)中通過輪訓(xùn)處理的。
<一>Handler機(jī)制的角色和職責(zé)
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26