[問題] Thread與更新UI相關問題請教
最近在學習android, 了解android的UI更新只能在main thread上進行,
在這個認知之下,我嘗試寫了一段code如下:
https://gist.github.com/anonymous/3c03aa168b2188d5beaa
發現有些地方跟認知有差異,想請教一下各位先進:
1.點擊button觸發 clickButtonX() method後,該方法裡面new了一個新thread
並試圖修改按鈕的文字,結果不易外,出現ANR
2.我在onCreate()中 也new了一個新thread,一樣是試圖修改按鈕文字,
結果居然可以修改!?
以上兩點比較,我也在兩個method中各印出log,顯示當前的thread
RunnableThreadId(1) = 1
RunnableThreadName(1) = main
RunnableThreadId(2) = 16070
RunnableThreadName(2) = Thread-16070
RunnableThreadId(3) = 16072
RunnableThreadId(3) = Thread-16072
想請教大家,為什麼在onCreate另起的thread裡面可以更新UI呢?
懇請各位不吝指教,謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.173.43.196
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1442904188.A.E21.html
→
09/22 14:47, , 1F
09/22 14:47, 1F
→
09/22 14:50, , 2F
09/22 14:50, 2F
→
09/22 14:51, , 3F
09/22 14:51, 3F
→
09/22 15:06, , 4F
09/22 15:06, 4F
→
09/22 15:07, , 5F
09/22 15:07, 5F
→
09/22 15:08, , 6F
09/22 15:08, 6F
→
09/22 15:17, , 7F
09/22 15:17, 7F
→
09/22 15:18, , 8F
09/22 15:18, 8F
→
09/22 15:46, , 9F
09/22 15:46, 9F
推
09/22 21:27, , 10F
09/22 21:27, 10F
→
09/22 21:28, , 11F
09/22 21:28, 11F