AsyncTask源码分析

1、一个超级简单的用法,就从这里分析吧

AsyncTask源码分析

2、构造方法中确定looper

AsyncTask源码分析

3、execute方法

AsyncTask源码分析

AsyncTask源码分析

4、sDefaultExecutor对象及execute方法

AsyncTask源码分析

AsyncTask源码分析

AsyncTask源码分析

5、线程池

AsyncTask源码分析

6、由exec.execute(mFuture);这句看下构造函数中mFuture的初始化

AsyncTask源码分析

7、从FutureTask中的run方法我们知道调用的是mWorker的call方法,doInBackground运行,在在子线程中

8、FutureTask中run最后有个set方法会调用done方法

AsyncTask源码分析

AsyncTask源码分析

9、postResultIfNotInvoked(get());方法只执行

AsyncTask源码分析