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