Android消息机制–Handler

每个Android应用在被启动时都会创建一个线程,这个线程被称为主线程或者UI线程,Android应用的所有操作默认都会运行在这个线程中。但是为了保证UI的流畅性,通常都会将耗时的操作放到子线程中,例如IO操作、网络请求等。而在Android 3.0以及以后的版本中,Android甚至禁止在主线程中进行网络请求,否则会抛出异常,可见在UI线程中执行耗时操作是非常不推荐的行为。 继续阅读“Android消息机制–Handler”

Android异步任务–AsyncTask

AsyncTask介绍

如果通过Thread执行耗时操作,那么在操作完成之后,我们可能需要更新UI,这时通常的做法是通过Handler投递一个消息给UI线程,然后更新UI,我们在Android消息机制–Handler解析也讲到过。这种方式对于整个过程的控制比较精细,但是也是有缺点的,例如,代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。 继续阅读“Android异步任务–AsyncTask”

实现一个简单的AsyncTask

如果你已经看过了上一篇博客:

Android异步任务–AsyncTask

那么你对AsyncTask的本质有了了解。它是对线程池加上Handler的封装,减少了开发者处理问题的复杂度,提高了开发效率。对Handler不是很了解的同学可以看一下:Android消息机制–Handler

下面我们就来简单的实现一个AsyncTask。类名为SimpleAsyncTask。与AsyncTask类似,我们提供三个函数,分别是onPerExecute、doInBackground、onPostExecute,不同的是我们这里只有一个代表doInBackground函数返回值类型的泛型参数。
继续阅读“实现一个简单的AsyncTask”