android View的刷新机制在很多面试题都会出现。
基本答案都是在UI 线程使用invalidate方法,在非UI线程使用postInvalidate。这的确是这样的呀。
我想说的是invalidate和onDraw的关系,开始以为myView.invalidate()这样只会调用myView的onDraw,如果真是这样的话,多么美好呀,可以分层刷新控件。
事实上不是这样的,invalidate后,屏幕上所有View的onDraw都会调用的。这就比较蛋疼的问题啦!所以在自己写空间的时候,应该保持onDraw的轻盈。