0Pricing
Swift Academy · レッスン

SwiftUI Instrumentによるプロファイリング

Instrumentsで再描画のボトルネックを見つけます。

「SwiftUI Instrumentによるプロファイリング」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

なぜプロファイリングするのか

計測せずに行うパフォーマンス改善は、当て推量にすぎません。Instruments の SwiftUI Instrument を使うと、どのビューがどの程度の頻度で更新されているかを正確に確認できます。

Instrument を開く

Xcode で Product > Profile(または Command-I)を選択して Instruments を起動し、SwiftUI テンプレートを選びます。アプリを実行し、遅い画面を操作してください。

ビューの body の評価回数

Instrument は、各ビューの body が評価された回数を報告します。予想外に多い回数は、過剰な再計算が起きていることを直接示します。

View body の実行時間が長い場合

回数だけでなく、body の実行時間も確認してください。ほとんど呼び出されなくても 30ms かかる body は、低コストであっても常に呼び出される body と同じくらい問題になります。

更新原因のレーン

Instrument は、ビューが更新された理由、つまりどの状態、バインディング、または監視対象プロパティが変化したかを説明します。これにより、範囲を絞るべきトリガーを特定できます。

Identity の変動を見つける

ビューが更新されるのではなく、繰り返し生成と破棄をされている場合、タイムラインに新しいインスタンスが表示されます。これは通常、identity の問題(インデックスの ID、分岐の切り替え)を示します。

ハングとカクつき

SwiftUI Instrument を Hangs および Animation Hitches Instrument と組み合わせると、負荷の高い body と、画面上で目に見えるカクつきを関連付けられます。

自身と子ビュー

時間がビュー自身の body と子ビューのどちらで消費されているかを確認してください。これにより、ビュー自体を最適化すべきか、ツリーの下位に修正を移すべきかが分かります。

現実的なシナリオを再現する

静止した画面ではなく、完全なリストをスクロールしたり、フィールドに入力したりするなど、実際のユーザーフローをプロファイリングしてください。パフォーマンスの問題は、停止中ではなく操作中に現れます。

反復する: 計測、修正、再計測

状態の範囲を狭める、Equatable を追加する、ビューを分割するなど、変更を 1 つ適用してから再度プロファイリングしてください。次に進む前に body の評価回数が減ったことを確認し、検証していない「最適化」を積み重ねないようにします。

正しくプロファイリング用にビルドする

Release ビルドをプロファイリングしてください。Debug ビルドでは最適化が無効になり、オーバーヘッドも追加されるため、製品版のパフォーマンスを反映しない誤解を招く数値になります。

クイックチェック: プロファイリング

SwiftUI Instrument についての理解を確認します。

まとめ: SwiftUI Instrument によるプロファイリング

SwiftUI Instrument は、body の評価回数、実行時間、各更新の原因を表示し、過剰な再計算や identity の変動を明らかにします。Hangs および Animation Hitches と組み合わせ、self と children の時間を区別し、Release ビルドで現実的なフローをプロファイリングしてください。

計測し、1 つの修正を適用し、再計測するという反復で最適化し、すべての変更をデータで検証してください。

よくある質問

「SwiftUI Instrumentによるプロファイリング」レッスンは無料ですか?

はい。「SwiftUI Instrumentによるプロファイリング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「SwiftUI Instrumentによるプロファイリング」で何を学びますか?

Instrumentsで再描画のボトルネックを見つけます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「SwiftUI Instrumentによるプロファイリング」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Viewのアイデンティティを理解する
  2. bodyの再評価を最小限にする
  3. EquatableなViewと@Stateのスコープ
  4. SwiftUI Instrumentによるプロファイリング
← Swift Academyに戻る