1.Draw绘制过程
1.1 View的绘制过程遵循步骤
- View的绘制过程遵循如下几步:
- ①绘制背景 background.draw(canvas)
- ②绘制自己(onDraw)
- ③绘制Children(dispatchDraw)
顾名思义,就是测量每个控件的大小。调用measure()方法,进行一些逻辑处理,然后调用onMeasure()方法,在其中调用setMeasuredDimension()设定View的宽高信息,完成View的测量操作。
1 | public final void measure(int widthMeasureSpec, int heightMeasureSpec) { |
测量完View大小后,就需要将View布局在Window中,View的布局主要通过确定上下左右四个点来确定的。
1 | public void layout(int l, int t, int r, int b) { |
除了使用 AIDL 进行 IPC 外,我们还可以使用 Messenger 来替代 AIDL。通过在 Message 对象中放入需要传递的对象,利用 Messenger 在不同进程间传递 Message 对象,就可以方便地进行进程间通信了
Messenger 是一种轻量级的 IPC 方案,底层实现依然是 AIDL,通过 Messenger 的两个构造方法就可以看出来
1 | public Messenger(Handler target) { |