Handler消息机制
使用 Handler的一般步骤:
1.创建 Handler成员变量对象,并重写其 handleMessage()
2.在分/主线程创建 Message对象
3.使用 handlerMessage对象发送
4.在 handleMessage()中处理消息
HandlerHandler消息处理首先需要在UI线程创建一个对象,然后在子线程中调用Hanlder的sendMessage()方法,接着这个消息会存放在UI线程的 MessageQueue中,通过 Looper对象取出MessageQueue中的消息,最后分发回 Hanlder的handleMessage()方法中。
AsyncTask
1.为了方便子线程中对UI进行操作, Android提供了一些好用的工具类,AsyncTask就是其中之一。借助AsyncTask,可以十分简单地从子线程切换到主线程,它的原理也是基于异步消息处理机制的。
2.AsyncTask是一个抽象类,它有三个泛型参数分别如下所示:
(1)Params:执行异步任务时需要传入的参数,用于后台任务中使用
(2)Progress:后台任务执行时,如果需要在界面上显示当前的进度,则使用该参数作为进度单位;
(3)Result:当任务执行完毕后,如果需要对结果进行返回时,则使用该参数作为返回值类型。