摘要: 问:什么是 IdleHandler?有什么用?怎么用? 答:IdleHandler 可以用来提升性能,主要用在我们希望能够在当前线程消息队列空闲时做些事情(譬如 UI 线程在显示完成后,如果线程空闲我们就可以提前准备其他内容)的情况下,不过最好不要做耗时操作。具体用法如下。 //getMainLoo 阅读全文
posted @ 2020-05-20 22:55 lianzhen 阅读(283) 评论(0) 推荐(0) 编辑
摘要: //可以看到我们的Looper是存放在线程独有的ThreadLocal进行隔离的 //也就是每个线程独有一份Looper static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>(); //系统帮我们实现的主线程的 阅读全文
posted @ 2020-05-20 22:25 lianzhen 阅读(509) 评论(0) 推荐(0) 编辑
摘要: Message 在Android中主要是在 消息循环机制 中使用,即配合 Handler,Looper和MessageQueue来进行线程切换,线程间传递数据。Message存储了我们所有需要的东西。 还可以配合Handler在IPC中传递数据。 我们在使用的过程中应该使用obtain()这个方法来 阅读全文
posted @ 2020-05-20 18:12 lianzhen 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 1 public class BinaryTree { 2 3 class Node<T>{ 4 5 T data; 6 Node<T> leftTree; 7 Node<T> rightTree; 8 9 public Node(T data) { 10 this.data = data; 11 阅读全文
posted @ 2020-03-14 15:03 lianzhen 阅读(122) 评论(0) 推荐(0) 编辑
摘要: https://www.jianshu.com/p/b4d745c7ff7ahandler机制源码1.handler机制的作用在多线程的场景中,将子线程中需要更新UI的操作信息传递到UI主线程。多个线程并发更新UI的同时 保证线程安全。Message线程间通信的数据单元(handler接受和处理的消 阅读全文
posted @ 2019-10-16 16:53 lianzhen 阅读(92) 评论(0) 推荐(0) 编辑
摘要: java 中有4个元注解: java 4个元注解一、Retention :生命周期 注解的保留位置1.@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中(.java文件),在class字节码文件中不包含2.@Retention(RetentionPolicy 阅读全文
posted @ 2019-10-16 16:40 lianzhen 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 下面三个条件必须要有,要在popupWindow显示之前调用popupWindow.setOutsideTouchable(true);popupWindow.setFocusable(true);popupWindow.setBackgroundDrawable(new BitmapDrawabl 阅读全文
posted @ 2019-08-27 10:28 lianzhen 阅读(804) 评论(0) 推荐(0) 编辑
摘要: 参考:https://xiaozhuanlan.com/topic/8946537021 从触摸屏幕到事件在底层传输最终会到: 在View中: 其中Activity实现了这个接口,需要重写里面的dispatchTouchEvent()方法: 阅读全文
posted @ 2019-07-31 16:21 lianzhen 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 查看Activity的dispatchTouchEvent方法: getWindow().superDispatchTouchEvent(ev) getWindow()是获取Windowl类唯一子类PhoneWindow的对象 所以Activity的事件分发的流程调用ViewGroup的事件分发机制 阅读全文
posted @ 2019-07-31 16:08 lianzhen 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 为了更好的理解ViewGroup的事件分发机制,我们在自定义一个MyLinerLayout. E/MyLinearLayout(959): dispatchTouchEvent ACTION_DOWN E/MyLinearLayout(959): onInterceptTouchEvent ACTI 阅读全文
posted @ 2019-07-31 16:03 lianzhen 阅读(215) 评论(0) 推荐(0) 编辑