您好,登錄后才能下訂單哦!
使用AsyncTask類遵守的準則:
1 Task的實例必須在UI thread中創建;
2 Execute方法必須在UI thread中調用;
3 不要手動的調用onPfreexecute(),onPostExecute(result)Doinbackground(params…),onProgressupdate(progress…)這幾個方法;
4 該task只能被執行一次,否則多次調用時將會出現異常;
AsyncTask的整個調用過程都是從execute方法開始的,一旦在主線程中調用execute方法,就可以通過onpreExecute方法,這是一個預處理方法,比如可以在這里開始一個進度框,同樣也可以通過onprogressupdate方法給用戶一個進度條的顯示,增加用戶體驗;最后通過onpostexecute方法,相當于handler處理UI的方式,在這里可以使用在doinbackground得到的結果處理操作UI。此方法在主線程執行,任務執行的結果作為此方法的參數返回。
此外,AsyncTask底層是一個線程池 而Handler僅僅就是發送了一個消息隊列,連線程都沒有開。但是,如果異步任務的數據特別龐大,AsyncTask這種線程池結構的優勢就體現出來了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。