发表于: 2017-03-06 23:57:48
1 856
今天完成的事情:参加面试,看面试题
明天计划的事情:参加面试,看面试题
遇到的问题:
收获:
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。
评论