为了在执行invalidate()时,减轻 onDraw()的负担
1.Vlew重写前,需要分离出静态的视图(不因为View组件展开后重新刷新组件 invalidate)和动态的视图,分别将两部分视图画入两个不同的BitMap,
2.静态视图的绘制函数在onDraw()函数调用前执行,提前构建好背景。
如果需要使用到本组件View内部的测量函数结果(如 getHeight(),getWidth()等),则需要在onMeasure()(此函数用于测量组件大小时调用)后调用,在onDraw()前调用
可以在 onLayout()(此函数在测量组件布局的时候调用)里调用。
3.动态视图的绘制函数在onDraw()里面调用,这样可以在进行 invalidate()(此函数会调用onDraw())的时候,重新调用动态视图的绘制函数。