1. General
ASyncTask 短时间运行的任务。不在UI 线程中运行。结束时把结果传回UI线程。
有3个参数: 1。 Params
, Progress
and Result
Params是任务需要的参数,result是任务执行的结果,Progress是任务执行的过程提示
有4个步骤:onPreExecute
, doInBackground
, onProgressUpdate
and onPostExecute
.
onPreExecute
在UI执行,是准备
doInBackground
是主运行实体
onProgressUpdate
是Task发送任务运行进度的UI侧响应
onPostExecute是Task发送任务运行结果的UI侧响应
2. UI thread和Async Task之间的通信手段是Message当然和Message相关的的Handler
ASync需要创建新的Handler供UI处理接受到的消息。
onProgressUpdate
和onPostExecute
就被Handler使用
3. 为了保存ASync Task的运行结果,需要有FutureTask来保存
因为结果是执行的后果,FutureTAsk要用Callable的初始化
4. ASyncTask可以被取消你
========================================================================
AsyncTaskLoader
ASyncTaskLoader实现可以集成ASyncTask,但是make ASyncTask是一个更好的办法。
ASyncTaskLoader实现和Loader相关的借口,ASyncTask的子类实现在不同线程的运行。
ASyncTask并不做基本的和任务相关的内容,只是一个容纳异步任务的容器。
ASyncTaskLoader
进一步控制ASyncTask的运行。