首页 > 代码库 > Handler的使用

Handler的使用

Handler的基本概念
    Handler提供了一种异步处理的机制。
    存在两个队列,一个是把线程放进去的队列,另一个是消息队列。
    Activity是一个线程,下载是另一个线程。
Handler基本使用方法
     马上加入到消息队列中:post(Runnable对象引用),
     从消息队列中移除:removeCallback(Runnable对象引用)
    1.创建一个Handler对象
    2.将要执行的操作写在线程对象的run方法中
    3.在run方法内部,执行postDelayed(有两个参数)方法
    4.在触发事件中调用通过Handler引用的post方法 
Handler与线程的关系
    默认情况Handler与调用它的Activity是处于同一个线程的。
    编写线程程序:1.实现runnable接口,2.继承Thread这个类。这两种方法都得实现run方法但启动线程并不调用run方法而是调用线程start方法。如果直接调用run方法实际上没有真正启动一个线程,而是在当前线程中执行run方法。post(Runnable对象),这其实是直接执行run方法。
Bundle的用法
    是一种数据存储工具
    Bundle(String key, value).key只能是String类型,value可以是其他类型。
在新线程当中处理消息的方法
    looper循环的从队列当中取得消息,当队列中没有消息的话,线程便会休眠。

Handler的使用