技术之路
Dynamic_2018
读不懂的难道不是只有女孩子嘛?哦,不对,有开源项目还要什么女孩子!
展开
-
android handler机制源码解析
android handler、looper异步消息处理机制(萌新看源码)可能萌新感觉异步消息处理这个东西很高端,其实我们平时一直在用,最常用的该是子线程通知ui线程刷新了吧。sendMessage、handleMessage是不是突然间感觉就来了。 异步消息处理当然离不开handler、looper、message以及messageQueue、threadLocal…..那么先从handler开原创 2017-10-27 22:47:34 · 468 阅读 · 1 评论 -
android handler机制源码解析(二)
Android异步消息机制 Looper如果不了解handler,请先看一下我的上一篇handler详解 android handler机制源码解析先简单了解下looper的作用private Looper(boolean quitAllowed) { mQueue = new MessageQueue(quitAllowed); mThread = Threa原创 2017-10-28 11:00:05 · 287 阅读 · 0 评论 -
android handler机制源码解析(三)
android异步消息机制总结与思考现在在看这幅图,应该已经很清楚了。为什么可以实现不同线程间的消息传递。因为handler发送msg的地方虽然是可以在不同的线程,但是最后发送到的msgQueue都是在该looper绑定的线程里面。 就拿主线程的mhandler来讲,它一定和smainLooper绑定的,smainLooper对应主线程。不管mhandler在哪个thread发送msg(send原创 2017-10-30 17:29:34 · 387 阅读 · 0 评论 -
hashMap sdk25解析 以及简单提及26的区别
hashMap作为一个典型的数据结构,之前或多或少都了解一些,这一次就详细的看一下它管理hash数组以及(链表、红黑树),对阈值的管理扩容,以及hashmap在多线程里面存在的非线程安全。 在jdk1.7和1.8hashMap的实现稍有变化,对应于android里面的sdk25 26;从我们熟知的数组+链表,变成了数组+链表或者红黑树。红黑树的作用查找方便,从链表从头结点往下找的O(N)变...原创 2018-02-12 16:26:41 · 601 阅读 · 0 评论 -
谈谈System.currentTimeMillis()
谈谈获取系统时间,以及和服务端交互时的时间校验背景最近玩旅行青蛙,偶然发现在没有网络情况下,还是可以正常的收三叶草以及在商店买东西。这时候就觉得这个好像是一个单机游戏,那么三叶草收割刷新的逻辑是客户端自己算的咯。然后在联想到时间,java里面一般都是用System.currentTimeMillis()这个比较高效的方法获取时间戳,再format成固定格式的时间。 带着好奇心...原创 2018-02-12 16:28:02 · 35203 阅读 · 6 评论 -
androidStuido“高级Debug”调试技巧
掌握调试技巧,提高debug效率 跳过单步调试的stepOver stepInto等基础调试,从上一幅图开始。frames查看帧调用关系 图中右边箭头指着的图标用来控制是否显示frames。 左边的箭头指着的是调用关系,从Debug的frames也可以看到:onClick是在performClick中调用的,同时可以看到前面是由ActivityThread调用。 即...原创 2018-02-22 23:33:05 · 369 阅读 · 0 评论