Android多线程
基本用法:
1、创建一个类继承Thread,并重run()。
2、实现Runnable接口
Android异步消息处理
基本用法:
1、主线程中创建一个Handler对象,并重写handleMessage(),在handleMessage中进行UI操作
2、在点击事件中创建一个Message对象,并指定want字段,调用sendMessage()发送消息
3、这样Handler会通过handleMessage获取发送的消息,然后进行处理。
Android异步消息处理机制:
组成:Message、Handler、MessageQueue和Looper。
流程:1、主线程中创建Handler对象,并重写handlerMessage()
2、子线程中创建Message对象,并通过sendMessage()发送消息
3、消息存入到MessageQueue队列中等待处理
4、Looper从MessageQueue中取出Messgae,并分发回Handler的handleMessage()中
5、在handlerMessage()中更新UI
AsyncTask
1、创建一个类继承AsyncTask,并制定3个泛型参数:Params、Progress、Result
class DownloadTask extends AsyncTask<Void,Integer,Boolean>{...}
2、重写onPreExecute()界面初始化、doInBackground()处理耗时操作、onProgressUpdate(Progress...)进行UI操作、onPostExecute(Result)利用返回结果进行UI操作
DoInBackground中不可进行UI操作,若要更新UI则可调用publishProgress(Progress....)