画面の中央に TextField をレンダリングする非常に単純なフラッター アプリがあります。ウィジェット ツリーは次のとおりです: MaterialApp > Scaffold > Center > Padding> RepaintBoundary > TextField
これはアプリが起動したばかりの画面です。すべて問題ありません。最初のレンダリングですべての境界線の表示を再描画します。
しかし、TextField をタップすると、キーボードが開き、画面全体が再描画され、1 つの奇妙なことが起こります。画面全体がラスター キャッシュ チェッカーボードで覆われていますか?
そこから、カーソル位置を変更するか、TextField のテキストを変更するたびに、画面全体をカバーするラスター キャッシュ チェッカーボードが別の色に更新されます。TextField は再描画されます (これは正常です) が、画面全体も再描画されますが、これは奇妙です。TextField の境界線が再描画され、画面全体が新しい色に更新されていることがわかります。
テキストフィールドを更新するたびに、タイムラインで何が起こるかを次に示します。
私の質問は、TextField にフォーカスしたり、カーソル位置を更新したりすると、全体がラスター キャッシュされて再描画されたのはなぜですか?