kwcn
Results
3
comments of
kwcn
AOP,面向切面编程,Android里面大多是使用动态代理技术来实现 在日志统计,登录信息check,网络是否连接等场景有应用,主要是用来避免每次做check时都写重复的逻辑代码。
可以这样简单的来理解一下,一个Thread对应一个Looper和一个MessageQueue 这个MessageQueue是个一个阻塞队列,类似BlockingQueue,不同之处在于MessageQueue的阻塞方式是通过Pipe机制实现的。 阻塞队列,就是当队列里没有数据时,如果调用获取队首数据的方法时,当前线程会被阻塞(相当于执行了线程的wait方法),如果队列里面有了插入了新数据,则会唤醒被阻塞的方法(相当于执行了线程的notify方法),并返回该数据。再来看MessageQueue,这里的数据指的就是是每一个消息,这个消息则是通过handler来发送的。 综上所述,线程并没有一直死循环的工作,而是在没消息时被暂时挂起了,当有新消息进来的时候,就会又开始工作。