摘要: (1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。(2) 通常是通过Handler对象来与Looper交互的。Handler可看做是Looper的一个接口,用来向指定的Looper发送消息及定义处理方法。默认情况下Handler会与其被定义时所在线程的Looper绑定,比如,在主线程中定义,其是与主线程的Looper绑定。mainHa 阅读全文
posted @ 2011-10-02 23:14 布衣不舍010 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 在编写android多线程程序时,进程间通信交换信息的一种方式就是使用handler,非常方便。 首先,在主线程里new一个Handler对象,并重写它的handleMessage(Message msg)方法,Message里有几个属性可以用来传递简单的int型参数,如what属性我们可以用来标记信息的种类(这在有N个线程N个Message时非常有用,可以用老区分是哪个线程发送的什么消息),这时你可以定义几个static final int变量,用来给what分类;还有arg1和arg2两个属性可以用来存储int型消息内容,obj属性可以用来传递其他对象。 下面这个程序,我在新线程里... 阅读全文
posted @ 2011-10-02 10:05 布衣不舍010 阅读(620) 评论(0) 推荐(0) 编辑