Android之Handler有感(一)
16lz
2021-01-26
一直对Handler有所疑惑,今天做出决心要搞懂,现在粗略讲讲心得。
Handler拥有两个队列,一个是放线程的队列,我们就暂且叫做线程队列;而另外一个是放消息的队列,我们暂且叫做消息队列。
创建线程的方法在Java当中有两种,一种是继承Thread而另外的一种则是实现Runnable。在Android中我们比较常用的是实现Runnable,然后可以通过Handler的post方法或者是postDelayd方法把线程添加到线程队列当中。当需要停止的时候的是调用Handler的removeCallBacks方法。
说道消息队列,我们通过在Runnable中Handler的obtainMessage获得Message对象,然后通过Handler的sendMessage方法把消息压入到消息队列当中,最后通过复写Handler里面的HandlerMessage方法取得message来进行相应的处理。 以下就是大概的流程:
handler.post(runnable);
Handlerhandler= newHandler(){
public voidhandlerMessage(Messagemsg){
handler.post(runnable);
}
}
Runnablerunnable= newRunnable(){
public voidrun(){
Messagemessage=handler.obtainMessage();
handler.sendMessage(message);
}
}
更多相关文章
- 详解Android冷启动实现APP秒开的方法
- Android(安卓)开发环境搭建 与在编译中遇到错误make Error 45解
- Android(安卓)源码开发调试方法
- Android(安卓)跳转权限设置界面的终极适配(适配各大定制 ROM)
- 【eoe教程】Android中自定义视图的绘制方法
- Android的消息处理机制—Looper,Handler,Message
- Android录音mp3格式实例详解
- java-Service生命周期及用法! - 随心
- 2020.9.8 oppo Java开发(Android)一面面经