android笔记-Handler使用

来源:互联网 发布:淘宝卖家阿里旺旺 编辑:程序博客网 时间:2024/05/22 10:46

Handler内部包括一个消息队列,可以Activity中通过启动一个线程,来将耗时的逻辑放入其中执行,得到更好的用户体验。

Handler handler = new Handler();

Runnable r = new Runnable(){ public void run(){}};

handler.post(r);发送消息到消息队列,然后执行Runnable的run方法,但是线程并没有启动。

所以要创建一个新的线程并启动

Thread th = new Thread(r);

 th.start();

当消息队列中有消息时会执行Handler类的方法handlerMessage(Message msg);

其他对象和方法介绍:

Handler的方法removeCallbacks();移除线程对象来中断线程。

Handler的方法postDelayed()延迟执行。

Handler的方法obtainMessage()获取Message对象。

Message类的sendToTarget()发送消息。

Bundle可以把它看成一个特殊的map,键为string类型,值可以为基本数据类型,是一个数据存储的工具。

Looper类提供循环从队列中处理消息的机制。

HandleThread类实现使用Looper来循环处理消息队列的功能,

原创粉丝点击