在开发 Android 移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程中执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI线程),子线程中操作 UI 线程会出现错误。因此 Android 提供了一个类 Handler 来在子线程中来更新 UI 线程,用发消息的机制更新 UI 界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程会给系统带来巨大的负担,随之带来一些性能问题。因此 Android 提供了一个工具类 AsyncTask ,顾名思义 异步执行任务。这个 AsyncTask 生来就是处理一些后台的比较耗时的任务,给用户带来良好的用户体验,从编程的语法上显得优雅了许多,不在需要 子线程 和 Handler 就可以完成异步操作并且刷新用户界面。