
Android源码
浩瀚星辰
挫折是人生最好的礼物
展开
-
Launcher3 源码分析(二)屏幕适配
在Launcher加载的过程中会动态的根据当前设备的屏幕参数初始化DynamicGrid,DynamicGrid中只包含了三个变量mMinWidth(单位DP),mMinHeight(单位DP),mProfile。动态适配的逻辑以及适配后的属性值都在DeviceProfile中。Launcher加载过程中调用LauncherAppState的initDynamicGrid函数。protec原创 2015-04-15 15:43:22 · 1252 阅读 · 0 评论 -
Launcher3 源码分析(一) 整体结构及核心类
Launcher作为系统的Home,从功能维度其肩负着桌面,应用管理,系统组件管理等功能。从代码角度包括UI显示及控制,Provider,和一些系统Service使用几部分。核心类类图原创 2015-04-12 20:02:14 · 1117 阅读 · 0 评论 -
Android RecyclerView源码分析
RecyclerView及相关类类图首先从构造函数开始public RecyclerView(Context context, @Nullable AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); ...... setScrollContainer(true);原创 2016-12-26 16:17:59 · 707 阅读 · 0 评论 -
深入分析View-事件处理 基于Android 8.0
1.概述事件类型包括ACTION_DOWN,ACTION_UP,ACTION_MOVE等,常规一次事件的起始都是以ACTION_DOWN开始,ACTION_UP结束。View的事件处理包括两个阶段:派遣和消费。一般的事件处理流程(不考虑ViewGroup的onInterceptTouchEvent返回true的情况):派遣是从Activity开始,然后沿着Activity >...原创 2018-08-09 12:23:15 · 232 阅读 · 0 评论 -
深入分析Handler,Looper,MessageQueue 基于Android 8.0
1.概述Handler的运行主要由三部分组成Handler,Looper,MessageQueueHandler:主要功能是对Looper中的MessageQueue进行增删查操作。其方法分为4个系列obtainMessage用来创建Message;sendMessage(post最终调用的也为sendMessageDelayed)系列用来将Message加入MessageQueue;re...原创 2018-08-03 14:38:18 · 271 阅读 · 0 评论