说到 AsyncTask,它几乎能够用最简单的方式将操作异步执行,再呈现给 UI 线程。你不需要自己写一个线程,然后通过 Handler 去将结果返回给 UI 线程。只要简单的重写 onPreExecute,doInBackground,onProgressUpdate,onPostExecute 四个方法,然后调用 execute 方法,是不是超级简单。可是,你了解 AsyncTask 是如何操作你的任务的吗?它是如何封装 Handler 将异步任务执行结果返回给 UI 线程的?使用 AsyncTask 有哪些需要注意的?本文从源码分析 AsyncTask 的工作原理,部分内容来自源码。