爲什麼谷歌要提出:“UI
更新一定要在UI
線程裏實現”這一規則呢?
原因如下:
目的在於提高移動端更新UI
的效率和和安全性,以此帶來流暢的體驗。
Android
的UI
訪問是沒有加鎖的,多個線程可以同時訪問更新操作同一個UI
控件。
也就是說訪問UI的時候,android
系統當中的控件都不是線程安全的,這將導致在多線程模式下,當多個線程共同訪問更新操作同一個UI控件時容易發生不可控的錯誤,而這是致命的。所以Android
中規定只能在UI
線程中訪問UI
,這相當於從另一個角度給Android
的UI
訪問加上鎖,一個僞鎖。
main thread
(主線程)也叫UI thread
即UI
線程。
Android
從4.0
開始就不允許在主線程連接網絡