Android図面のrequestLayout、invalidate、postInvalidateの類似点と相違点



Similarities Differences Between Requestlayout



画像

(画像ソースを忘れた)

単純な違いは次のとおりです。

1. invalidateとpostInvalidateの両方がビューを再描画します(つまり、onDrawメソッドが呼び出されます)。違いは、invalidateがUIスレッド自体で使用されるのに対し、postInvalidateは非UIスレッドで使用されることです。

2.ビューが既存の領域に適さなくなったと判断すると、ビュー自体がonLayoutを呼び出して、親ビューに3つの主要なプロセスを呼び出してその位置をリセットするように要求します。たとえば、ビューの位置を動的に移動したり、ビューのサイズと形状を変更したりします。