发表于: 2017-03-06 23:57:48

1 857


今天完成的事情:参加面试,看面试题
明天计划的事情:参加面试,看面试题
遇到的问题:
收获:

Android的消息处理有四个核心类:Handler、Looper、Message、MessageQueue,都在android.os包中。

一、线程的魔法师 Looper

Looper的字面意思是“循环器”,"轮询器",它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程。在程序开发中(尤其是GUI开发中),经常会需要一个线程不断循环,一旦有新任务则执行,执行完继续等待下一个任务,这就是Looper线程。

1.每个线程有且最多只能有一个Looper对象,它是一个ThreadLocal;

2.Looper内部有一个消息队列,loop()方法调用后线程开始不断从队列中取出消息执行;

3.Looper使一个线程变成Looper线程。

二、异步处理大师 Handler

什么是handler?handler扮演了往MQ上添加消息和处理消息的角色(只处理由自己发出的消息),即通知MQ它要执行一个任务(sendMessage),并在loop到自己的时候执行该任务(handleMessage),整个过程是异步的。handler创建时会关联一个looper,默认的构造方法将关联当前线程的looper。



返回列表 返回列表
评论

    分享到