经典源码
奔跑的杰尼龟
菜鸟也疯狂
展开
-
Android 系统启动分析
简述本文简要记录下学习Android系统启动的一些细节,方便自己记忆和宏观的认识原创 2020-05-27 10:37:24 · 448 阅读 · 0 评论 -
RecyclerView刷新机制
1、简介本文将简述RecyclerView刷新问题,也是借这篇文章能够对Rv的刷新有一个具体的认知。来探究我们日常出现的闪烁问题究竟是因何而起的。2、分析观察者抽象观察者 => AdapterDataObserver//RecyclerView.javapublic abstract static class AdapterDataObserver { public AdapterDataObserver() { } public void onChanged()原创 2020-05-26 09:04:55 · 1049 阅读 · 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 · 508 阅读 · 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 · 317 阅读 · 0 评论 -
Android Binder机制
记录一则AIDL案例以下将通过一个案例具体去介绍通过AIDL来实现跨进程进行通信的方式。具备知识点:bindService启动服务,aidl文件类型 数据类型等 <service android:name=".ipc.service.RemoteService" android:process=":remote" ...原创 2019-10-31 14:08:36 · 179 阅读 · 0 评论 -
Android Handler消息机制
我们来分析下源码中的这个方法,然后在代码中进行实践 public void dispatchMessage(Message msg) { if (msg.callback != null) { handleCallback(msg); } else { if (mCallback != null) { ...原创 2019-10-31 09:38:08 · 252 阅读 · 0 评论