博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android之Handler有感(一)
阅读量:6375 次
发布时间:2019-06-23

本文共 670 字,大约阅读时间需要 2 分钟。

一直对Handler有所疑惑,今天做出决心要搞懂,现在粗略讲讲心得。

Handler拥有两个队列,一个是放线程的队列,我们就暂且叫做线程队列;而另外一个是放消息的队列,我们暂且叫做消息队列。

创建线程的方法在Java当中有两种,一种是继承Thread而另外的一种则是实现Runnable。在Android中我们比较常用的是实现Runnable,然后可以通过Handler的post方法或者是postDelayd方法把线程添加到线程队列当中。当需要停止的时候的是调用Handler的removeCallBacks方法。

说道消息队列,我们通过在Runnable中Handler的obtainMessage获得Message对象,然后通过Handler的sendMessage方法把消息压入到消息队列当中,最后通过复写Handler里面的HandlerMessage方法取得message来进行相应的处理。 以下就是大概的流程:

 

 
handler.post(runnable);
Handler handler = 
new Handler(){
    
public 
void handlerMessage(Message msg){
    handler.post(runnable);
    } 
Runnable runnable = 
new Runnable(){
    
public 
void run(){
         Message message = handler.obtainMessage();
         handler.sendMessage(message);
     }

 

 

转载地址:http://exjqa.baihongyu.com/

你可能感兴趣的文章
微服务间如何选择推送和拉取数据
查看>>
RecyclerView 数据刷新的几种方式 局部刷新 notify MD
查看>>
互联网+时代IT管理者的转型
查看>>
Linux系统调用--getrlimit()与setrlimit()函数详解【转】
查看>>
限制容器的 Block IO - 每天5分钟玩转 Docker 容器技术(29)
查看>>
备忘提醒
查看>>
cocos2dx下的A星算法
查看>>
const 不再迷茫
查看>>
调用系统的的组件
查看>>
CentOS 6.8 虚拟机安装详解
查看>>
B树、B-树、B+树、B*树
查看>>
4.比较排序之归并排序(递归)
查看>>
vagrant 介绍,安装与使用
查看>>
三十而立,当以何立足于世?
查看>>
iOS开发之二维码扫描
查看>>
DBCC DBREINDEX重建索引提高SQL Server性能
查看>>
.NET平台下Redis使用(二)【StackExchange.Redis学习】
查看>>
javascript中全局变量的定义
查看>>
带你走进SAP项目实施过程——前言(0)
查看>>
How do I measure JVM startup time?
查看>>