メモリとパフォーマンス
メモリリーク、dispose、DevTools profiler、ウィジェットの再構築、const constructors、keys
22 面接問題·
Senior
1AnimationController でメモリリークを防ぐために dispose() 内で呼び出す必要があるメソッドはどれですか?
1
AnimationController でメモリリークを防ぐために dispose() 内で呼び出す必要があるメソッドはどれですか?
回答
AnimationController の dispose() メソッドは、listener や内部タイマーなど、アニメーションコントローラーに関連するリソースを解放します。この呼び出しがないと、ウィジェットが破棄された後もコントローラーがバックグラウンドで動作し続け、メモリリークを引き起こし、削除されたウィジェットを更新しようとした場合にエラーが発生する可能性があります。
2メモリリークを特定できる Flutter DevTools のツールはどれですか?
2
メモリリークを特定できる Flutter DevTools のツールはどれですか?
回答
Flutter DevTools の Memory Profiler は、アプリケーションのメモリ使用状況を詳細に表示します。heap のスナップショットをキャプチャし、メモリ内のオブジェクトを分析し、garbage collector によって回収されないインスタンスを検出し、メモリの解放を妨げる参照を特定できます。
3Flutter で不要なウィジェットの再構築を減らすにはどうすればよいですか?
3
Flutter で不要なウィジェットの再構築を減らすにはどうすればよいですか?
回答
ウィジェットのコンストラクタの前に const を使用すると、フレームワークは build のたびに新しいインスタンスを作成するのではなく、同じインスタンスを再利用できます。Flutter はウィジェットが変更されていないことを認識するため、不要な再構築を回避できます。const ウィジェットはコンパイル時に作成され、再利用のためメモリに保持されます。
4
StreamController によるメモリリークの主な原因は何ですか?
5
並べ替え可能な項目を持つ ListView のパフォーマンスを最適化するには、どの種類の Key を使用すべきですか?
+19 面接問題
その他のFlutter面接トピック
Dartの基礎
Junior
25問Dart言語の基礎
Junior
15問Flutter の基礎
Junior
18問ウィジェットのライフサイクル
Junior
20問ローカルストレージ
Junior
20問アプリケーションのライフサイクル
Junior
20問Layouts & Constraints
Mid-Level
24問ListView & GridView
Mid-Level
25問ナビゲーションとルーティング
Mid-Level
22問基本的な状態管理
Mid-Level
22問Provider パターン
Mid-Level
18問Networking & HTTP
Mid-Level
20問JSONシリアライゼーション
Mid-Level
20問ローカルデータベース
Mid-Level
22問フォームとバリデーション
Mid-Level
20問アニメーション
Mid-Level
20問Firebase 統合
Mid-Level
18問ユニットテスト
Mid-Level
20問ウィジェットテスト
Mid-Level
18問ビルドとデプロイ
Mid-Level
16問パッケージ管理
Mid-Level
16問Streams & RxDart
Senior
24問高度なState Management
Senior
26問Flutter Design Patterns
Senior
24問パフォーマンス最適化
Senior
26問Platform Channels
Senior
20問Custom Painting
Senior
22問Flutterアプリケーションアーキテクチャ
Senior
22問