使用步驟
1.繼承AsyncTask<Params,Progress,Result >, 如果不返回就AsyncTask<Void, Void, Void>
2.
//運行次序
2.1.onPreExecute()———ui線程
2.2.doInBackground(Params...) ——其他線程
//如果裏面有調用publishProgress(Progress...)
就調用onProgressUpdate(Progress...)———ui線程
2.3.onPostExecute(Result)———ui線程
3.在ui線程運行AsyncTask.execute(Params...)
4.中途取消任務 ,就調用 AsyncTask.cancel(true)
調用cancel(true)會調用 onCancelled()————ui線程
調用cancel(true)後不會調用onProgressUpdate(Progress...)和onPostExecute(Result)
但不會停止doInBackground(Params...) 要停止就要判斷isCancelled()是否爲true