handle运行机制
Handler就是解决线程和线程之间的通信的。
Handler的消息处理主要有五个部分组成,Message,Handler,Message Queue,Looper和ThreadLocal
Message:在线程之间传递的消息,用于线程之间交换数据
Handler:主要用于发送和处理消息的发送消息,一般用sendMessage(),除了sendMessageAtFrontOfQueue()都是 sendMessageAtTime 方法
Message Queue:存放所有通过Handler发送的消息,这部分的消息会一直存在于消息队列中,等待被处理, 每个线程仅有一个 MessageQueue
Looper:每当发现Message Queue中存在一条消息,就会将它取出,并传递到Handler的handleMessage()方法中 每个线程仅有一个Looper
ThreadLocal:是一个线程内部的数据存储类,通过它可以在指定线程中存储数据,数据存储以后,只有在指定线程中可以获取到存储到数据
泛型理解
泛型:允许在实现类,接口时指定类型参数,提高java程序类型的安全性,消除了源码中很多强制转换,代码更加可读,减少了出错机会, 使用类型形参定义属性 private T 类名;
事件分发机制:
事件分发的对象: 点击对象
事件分发的本质: 将点击事件传递到某个具体的View
& 处理的整个过程
事件在哪些对象之间进行传递? Activity、ViewGroup、View