![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android Framework 源码分析
JokerWann
好看的皮囊千篇一律,有趣的灵魂万里挑一。
展开
-
Android事件分发机制源码分析
Android事件分发机制源码分析 一、事件定义 定义:当用户触摸屏幕时,将产生的触摸行为(Touch事件) 事件类型 MotionEvent.ACTION_DOWN 手指刚接触屏幕 MotionEvent.ACTION_MOVE 手指在屏幕上滑动 MotionEvent.ACTION_UP 手指从屏幕上松开 MotionEvent.ACTION_CANCEL 非人为因素取消 二、事件序列 正...原创 2019-11-01 11:49:43 · 257 阅读 · 0 评论 -
源码分析UI绘制三部曲之draw
众所周知,UI绘制三部曲是measure、layout、draw 本篇我们分析ViewRootImpl#performDraw private void performDraw() { if (mAttachInfo.mDisplayState == Display.STATE_OFF && !mReportNextDraw) { r...原创 2019-10-27 22:49:15 · 289 阅读 · 0 评论 -
源码分析UI绘制三部曲之layout
众所周知,UI绘制三部曲是measure、layout、draw 本篇我们分析View#layout private void performLayout(WindowManager.LayoutParams lp, int desiredWindowWidth, int desiredWindowHeight) { mLayoutRequested...原创 2019-10-27 22:13:36 · 173 阅读 · 0 评论 -
从源码角度分析AppCompactActivity#setContentView
之前有一篇文章源码分析了Activity#setContentView,但是目前我们写的Activity基本都是继承自AppCompactActivity,google也是建议继承AppCompactActivity可以提高一些兼容性,今天我们就来一探AppCompactActivity#setContentView的究竟,看看跟Activity#setContentView有何异同。 依照之前的...原创 2019-10-19 22:26:10 · 475 阅读 · 0 评论 -
源码分析UI绘制三部曲之measure
众所周知,UI绘制三部曲是measure、layout、draw 本篇我们分析View#measure public final void measure(int widthMeasureSpec, int heightMeasureSpec) { ... final boolean matchesSpecSize = getMeasuredWidth() == M...原创 2019-10-18 22:30:28 · 171 阅读 · 0 评论 -
从源码的角度分析View的绘制流程
温馨提示:以下源码分析会截取源码进行说明,部分方法源码较长会只保留关键代码,其他代码用…省略 View的绘制入口是ActivityThread#handleResumeActivity final void handleResumeActivity(IBinder token, boolean clearHide, boolean isForward, boolean re...原创 2019-10-16 08:40:42 · 158 阅读 · 0 评论 -
从源码角度分析Activity#setContentView
我们平时在开发的过程中将一个layout绘制出来是通过Activity#setContentView,那么我们就从setContentView入手来看整个绘制流程。 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ...原创 2019-10-14 13:21:38 · 223 阅读 · 0 评论 -
Android9.0应用程序启动过程源码分析
用户从Launcher程序点击应用图标可启动应用的入口Activity,Activity启动时需要多个进程之间的交互,Android系统中有一个zygote进程专用于孵化Android框架层和应用层程序的进程。还有一个system_server进程,该进程里运行了很多binder service,例如ActivityManagerService,PackageManagerService,Wind...原创 2019-07-11 21:33:52 · 1323 阅读 · 1 评论