本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 最近在研究 RecyclerView 的回收复用机制,顺便记录一下。我们知道,RecyclerView 在...
直接贴代码 然后布局文件 然后事件冲突处理layout ok!最后来一张效果图 底部布局可拖动,左右切换,底下列表上下滑动.
直接贴代码 原理为画边框,波纹圆形和圆形头像 然后波纹圆形和圆形头像一起播放动画.
这篇文章记录下 ServiceManager的注册 1.注册,ServiceManager.c中的main方法 ServiceManager的注册,大致干了3件事 1,打开b...
binder驱动的4个方法源码及注释 binder_init binder_open binder_mmap binder_iotrl
今天来分析一波handler的源码,先从发送消息开始 前面这部分是发送消息,作一个小结,当handler发送一个消息后,会将消息发送到messageQueue中,用链表实现的...
此前看到了一个大佬自定义drawable画一条锦鲤鱼,看到效果后,决定自己也学习(抄袭)一番,学习思想,自己也画一条。 先看自己实现的效果图: 好,然后看全代码 实现思路,主...
这例子主要为2点,文字的绘制,绘制在正中心。然后文字的渐变主要利用画布的裁剪,2层画布,底下一层黑色字体,上面一层红色字体,然后根据进度分别裁剪对应的区域,就实现了效果。
之前见到360加载球,一直想自己做一个,然后学习了前辈们的思路,自己撸一个。 主要是二阶贝塞尔曲线的绘制,从 负一个view的宽度位置 画4段二阶贝塞尔曲线,然后动画控制移动...
首先bindServive调用到了Context的bindService方法,然后到Context的实现类ContextImp类中的bindService方法 然后这里会通过...
AIDL的调用流程。
通常我们使用Rxjava时,可能只知道如何简单的使用,并不知道其背后的原理,是如何调用的,那么,今天我们来简简单单的分析一波源码! 首先来看一段简单的使用方式。 先从这个Ob...
什么是CAS? CAS为 compare and swap (判断并且交换) 什么是原子操作? 原子操作的基本概念为,当有两个操作A和B,如果从执行A的线程来看,当另一个线程...
创建一个线程池需要哪些参数,参数的含义是什么呢? 来张图 线程池的构造方法 一个一个的来说明 corePoolSize为当前线程池的核心线程数,maximumPoolSize...
ThreadLocal是干什么的呢,有什么作用? 我们都知道,当多个线程访问同一个对象时,会产生线程安全问题,这是会用到锁的机制。 但是当多个线程访问同一个变量,并且也不需要...
什么是多线程的共享? 什么是多线程之间的协作? 多线程的共享:是指多个线程访问同一个对象。 多线程的协作是指:当A线程需要执行的操作依赖于B线程,这时候A线程需要B线程执行完...
事件分发机制,是指将一系列事件分发到某个View执行的过程,分发流程为Activity ->phoneWindow->DecorView->ViewGroup->View,从...