最新回答 / qq_JasonLee_0
可以這樣理解吧。 handler是消息的處理者,looper是message Queue的管理者。Message Queue存放Message,通過looper進行FIFO(先進先出)的順序輪詢。
2015-10-28
所以說,這節沒有太大的意義,除了告訴大家,在ViewRootImpl沒有實例化的時候是不會check是否是主線程,也就是說,在非UI線程中是可以更新UI的,但是為了線程安全的原因,系統會強制要求只能在主線程中更新UI(猜測)。之所以說沒有太大的意義是因為實際開發中是不會有這種情況的,谷歌官方也是說了只能在UI線程更新UI,這頂多算是一個BUG吧,看不懂的朋友們知道就行了,不用深究~
2015-10-23
感覺說的有點麻煩,其實就是兩個handler互相調用發送message。
這節一句話就可以結束了,主線程與子線程之間的信息傳遞方式是啥?調用對方的sendMessage就行了~
這節一句話就可以結束了,主線程與子線程之間的信息傳遞方式是啥?調用對方的sendMessage就行了~
2015-10-23
http://blog.csdn.net/lmj623565791/article/details/38377229 更詳細的源碼分析
2015-10-21
因為判斷是否在主線程更新UI的程序要ViewParent 不為空的情況下,但是第一個程序ViewParent還沒有實例化,所以沒有調用哪個checkThread的方法來判斷是否在主線程,所以可以更新
2015-10-21