您好,登錄后才能下訂單哦!
Android中更新UI常見的方式有4種:runOnUIThread、handler post、handler sendMessage、view post.
先使用handler post的方法更新UI
handler.post(r)方法中需要傳遞進(jìn)去一個Runnable對象,可以直接在里面新建一個Runnable對象,接著在Runnable的run方法中對UI進(jìn)行操作
進(jìn)入 handler.post(r)的源碼中
可以看到,其實(shí)這種方法里面也是通過發(fā)送延遲消息的方式對UI進(jìn)行操作的。
下面用handler sendMessage更新UI
該方法就是通過在子線程中發(fā)送消息通知主線程更改UI,這是比較常見的方式
下面用runOnUIThread的方法
runOnUIThread(action)需要傳遞一個Runnable對象作為參數(shù),此時可以new一個Runnable再實(shí)現(xiàn)它的run方法,在run方法里對UI進(jìn)行操作
從源碼當(dāng)中可以看到,系統(tǒng)先會判斷該線程是否為UI線程,如果不是就通過handler去更新,是就通過UI線程的run方法更新
下面用view post方法
源碼
其實(shí)這四種方法都是通過handler對UI進(jìn)行更新的,只是具體方法形式存在大同小異的區(qū)別而已
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。