经典源码
奔跑的杰尼龟
菜鸟也疯狂
展开
-
Android 系统启动分析
简述 本文简要记录下学习Android系统启动的一些细节,方便自己记忆和宏观的认识原创 2020-05-27 10:37:24 · 409 阅读 · 0 评论 -
RecyclerView刷新机制
1、简介 本文将简述RecyclerView刷新问题,也是借这篇文章能够对Rv的刷新有一个具体的认知。来探究我们日常出现的闪烁问题究竟是因何而起的。 2、分析 观察者 抽象观察者 => AdapterDataObserver //RecyclerView.java public abstract static class AdapterDataObserver { public AdapterDataObserver() { } public void onChanged()原创 2020-05-26 09:04:55 · 1010 阅读 · 0 评论 -
RecyclerView复用回收机制
Recycler组成 RecyclerView的缓存主要委托给了Recycler,先了解下组成 public final class Recycler { final ArrayList<RecyclerView.ViewHolder> mAttachedScrap = new ArrayList(); ArrayList<RecyclerView.ViewHolder> mChangedScrap = null; final ArrayList<Rec原创 2020-05-20 15:32:34 · 454 阅读 · 0 评论 -
RecyclerView绘制流程
本次RecyclerView绘制流程分析是基于源码28版本的,RecyclerView继承ViewGroup,作为自定义View无疑会经过onMeasure()、onLayout()、onDraw()流程,所以可以从这里进行入手。这里我们假想RecyclerView.LayoutManager 为LinearLayoutManager,具体实现可到该manager进行查看 onMeasure() protected void onMeasure(int widthSpec, int heightSpec)原创 2020-05-15 10:24:59 · 280 阅读 · 0 评论 -
Android Binder机制
记录一则AIDL案例 以下将通过一个案例具体去介绍通过AIDL来实现跨进程进行通信的方式。具备知识点:bindService启动服务,aidl文件类型 数据类型等 <service android:name=".ipc.service.RemoteService" android:process=":remote" ...原创 2019-10-31 14:08:36 · 162 阅读 · 0 评论 -
Android Handler消息机制
我们来分析下源码中的这个方法,然后在代码中进行实践 public void dispatchMessage(Message msg) { if (msg.callback != null) { handleCallback(msg); } else { if (mCallback != null) { ...原创 2019-10-31 09:38:08 · 237 阅读 · 0 评论