任何人都知道为什么必须通过UI线程调用invalidate?
与Java Swing一样,非{...}}函数可由非UI线程和UI线程调用。 repaint
正在执行与repaint
非常相似的任务(此方法会尽快调用此组件的绘制方法。否则,此方法会立即调用此组件的更新方法尽可能。)。
答案 0 :(得分:1)
看起来在Android上重绘的等效内容是postInvalidate
答案 1 :(得分:0)
当我们从UiThread调用invalidate
时,它告诉应用程序在主线程空闲时重绘视图。所以当我们调用invalidate
时,它基本上会安排视图再次绘制时其他即时工作已完成。如果要在UiThread以外的单独线程中重绘视图,请使用postInvalidate()
。