8
  1. invalidate()内部を呼び出すことは良いプログラミング慣行onDraw()ですか?

invalidate()私の理解によると、内部に電話をかけるのonDraw()は費用がかかり、キャンバスに変更がなければ必要ありません。

  1. invalidate()の非同期バージョンと同等ですかonDraw()

私の理解によると、それらは同等です。私が間違っている場合は私を訂正してください。ありがとうございました。

4

1 に答える 1

17

invalidate()データが変更され、再描画が必要な場合にのみ呼び出します。通常、 ではこれを行いません。onDraw()その時点では現在のデータを描画していて、変更していないからです。(アニメーションの実行など、これを実行したい場合もありますが、一般的には、代わりに遅延メッセージを使用して更新のタイミングを制御することをお勧めします。)

于 2011-02-15T04:16:54.473 に答える