Android中的Handler类介绍

     在Android编程中,只有事件处理往往并不能满足用户与程序交互的需要,下面将对Android平台下消息的传递机制Handler消息进行介绍。   

     在Android平台中,新启动的线程是无法访问Activity里的Widget的,当然也不能将运行状态外送出来,这就需要有Handler机制进行消息的传递了,Handler类位于android.os包下,主要的功能是完成Activity的Widget与应用程序中线程之间的交互。接下来对该类中常用的方法进行介绍,如下表所示。

方法签名

   

public void handleMessage (Message msg)

子类对象通过该方法接收信息

public final boolean sendEmptyMessage (int what)

发送一个只含有what值的消息

public final boolean sendMessage (Message msg)

发送消息到Handler

通过handleMessage方法接收

public final boolean hasMessages (int what)

监测消息队列中是否还

what值的消息

public final boolean post (Runnable r)

将一个线程添加到消息队列

    在多线程中经常要使用Handler,Thread和Runnable这三个类。Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应。 而Runnable是一个接口,Thread是Runnable的子类。所以说,他俩都算一个线程。 HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环。 与其说Handler和一个线程绑定,不如说Handler是和Looper一一对应的。 最后需要说明的是,在UI线程(主线程)中:

             mHandler=new Handler();

             mHandler.post(new Runnable(){

                void run(){

                      //执行代码... }

            });

这个线程其实是在UI线程之内运行的,并没有新建线程。 常见的新建线程的方法是:

            Thread thread = new Thread();

            thread.start();

 

            HandlerThread thread = new HandlerThread("string");

            thread.start();

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值