- 博客(5)
- 收藏
- 关注
原创 CoordinatorLayout源码解析之从NestedScrolling说起
概述CoordinatorLayout(下面简称CL)出来也有很长时间了,平常也仅限于API的调用,如果不知道其中的原理,出了问题也不好去解决。所以今次决定深入其内部一探究竟(…)。相比于RecyclerView的1W+行的源码,CL包含的内容算是少的了。但是本系列文章并不想从CL作为一个ViewGroup的角度去分析它的onMeasure、onLayout、onDraw和滑动等等,而是想从比较有特
2017-07-30 20:59:16 1238 1
原创 图文助你理解Binder
概述本文尽量屏蔽不影响理解的底层细节,因为太过深入的底层细节会让人深陷其中无法自拔,造成不能很好地从整体上对Binder进行把握。The WhatAndroid是基于Linux系统进行开发的,采用了进程隔离机制,每个进程都有自己独立的地址空间即虚拟地址,每个进程似乎都可以占满所有的内存运行,而实际上却访问的是不同的物理内存。也就是说各个进程之间数据相互独立,互不影响,一个进程崩溃并不会影响到其他进程
2017-07-22 11:29:54 519
原创 RecycleView源码浅析之Recycler+滑动
概述Recycler解决了两个哲学问题,VH从哪里来以及VH到哪里去,前两篇讲到RV的绘制流程和动画都回避了View的获取以及回收问题,其实是因为Recycler帮我们完成了而且封装得很好。这一篇就来看看Recycler是如何帮我们做到这些的,顺带看一下RV这个ViewGroup对触摸事件的处理。onTouchEvent()和ViewPager差不多,RV分为拖动和fling,scrollByInt
2017-07-13 17:07:24 1461
原创 RecyclerView源码浅析之数据更改与动画
概述上一篇我们针对RecyclerView的绘制流程做了简单的分析,重点放在了dispatchLayoutStep2()这个真正对子View操作的函数上,它完成了:子View的添加(LinearLayoutManager通过ChildHelper添加)、测量、布局。绘制流程虽然有了大概的了解,但却引出了很多问题:dispatchLayoutStep1()和dispatchLayoutStep3()有
2017-07-11 17:54:14 1528
原创 RecyclerView源码浅析之测量与布局
概述源码一万多行,是ViewPager的三倍多,如果不能把握住主线,会很容易迷失在源码的海洋。RecyclerView做得比ViewPager好的地方在于,它进行良好的封装和解耦,每一个类完成自己的功能,结构十分清晰。但是对于我们来说,如果不能对这些模块先有一个大概的的了解,那么阅读源码的常常会因为不清楚一个类的作用而不知所云。所以这篇文章的主线是解读RecyclerView的测量、布局和绘制,同时
2017-07-03 21:11:29 952
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人