在android的設計思想中,爲了確保用戶順滑的操做體驗。一些耗時的任務不可以在UI線程中運行,像訪問網絡就屬於這類任務。所以咱們必需要從新開啓 一個後臺線程運行這些任務。然而,每每這些任務最終又會直接或者間接的須要訪問和控制UI控件。例如訪問網絡獲取數據,而後須要將這些數據處理顯示出來。 就出現了上面所說的狀況。本來這是在正常不過的現象了,可是android規定除了UI線程外,其餘線程都不能夠對那些UI控件訪問和操控。爲了解決這個 問題,因而就引出了咱們今天的話題。Android中後臺線程如何與UI線程交互。android
據我所知android提供瞭如下幾種方法,用於實現後臺線程與UI線程的交互。網絡
一、handler線程
二、Activity.runOnUIThread(Runnable)設計
三、View.Post(Runnable)ci
四、View.PostDelayed(Runnabe,long)it
五、AsyncTaskast
六、BroadcastReciver後臺