Flutter

メモリとパフォーマンス

メモリリーク、dispose、DevTools profiler、ウィジェットの再構築、const constructors、keys

22 面接問題·
Senior
1

AnimationController でメモリリークを防ぐために dispose() 内で呼び出す必要があるメソッドはどれですか?

回答

AnimationController の dispose() メソッドは、listener や内部タイマーなど、アニメーションコントローラーに関連するリソースを解放します。この呼び出しがないと、ウィジェットが破棄された後もコントローラーがバックグラウンドで動作し続け、メモリリークを引き起こし、削除されたウィジェットを更新しようとした場合にエラーが発生する可能性があります。

2

メモリリークを特定できる Flutter DevTools のツールはどれですか?

回答

Flutter DevTools の Memory Profiler は、アプリケーションのメモリ使用状況を詳細に表示します。heap のスナップショットをキャプチャし、メモリ内のオブジェクトを分析し、garbage collector によって回収されないインスタンスを検出し、メモリの解放を妨げる参照を特定できます。

3

Flutter で不要なウィジェットの再構築を減らすにはどうすればよいですか?

回答

ウィジェットのコンストラクタの前に const を使用すると、フレームワークは build のたびに新しいインスタンスを作成するのではなく、同じインスタンスを再利用できます。Flutter はウィジェットが変更されていないことを認識するため、不要な再構築を回避できます。const ウィジェットはコンパイル時に作成され、再利用のためメモリに保持されます。

4

StreamController によるメモリリークの主な原因は何ですか?

5

並べ替え可能な項目を持つ ListView のパフォーマンスを最適化するには、どの種類の Key を使用すべきですか?

+19 面接問題

次の面接に向けてFlutterをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める