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

2、构造方法中确定looper

3、execute方法


4、sDefaultExecutor对象及execute方法
![]()


5、线程池

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

7、从FutureTask中的run方法我们知道调用的是mWorker的call方法,doInBackground运行,在在子线程中
8、FutureTask中run最后有个set方法会调用done方法


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

本文深入剖析了AsyncTask的工作原理,从构造方法到execute方法,再到线程池的使用,详细解释了FutureTask中run方法如何调用mWorker的call方法来执行doInBackground任务,并在子线程中运行。此外,还探讨了FutureTask中run方法最后的set方法如何调用done方法,以及postResultIfNotInvoked(get())方法的执行流程。
367

被折叠的 条评论
为什么被折叠?



