パフォーマンスを最適化
デバイスの悪条件下でのテスト(iOS)
重要:デバイス条件は、iOS 13.0 以降を実行しているデバイスで使用できます。
アプリのプロファイルを作成 しながら、さまざまな デバイス条件 の下で接続されたデバイスでアプリをテストします。
ネットワークデバイスの状態を有効にして、アプリを起動する時間、ユーザーがサインインする時間、新しいコンテンツを取得する際のアプリの応答性など、アプリの指標を測定します。アプリがネットワーク品質の変化にどのように応答するかをテストするには、ビデオのストリーミングなどの操作を開始してから、条件を有効または無効にします。
サーマルデバイスの状態を有効にして、以下のようにテストします。
- 公平な プロファイルで、アプリが、バックグラウンドスレッドやコンテンツのプリフェッチなど、ユーザーがすぐに必要としない作業を遅らせることを確認します。公平なプロファイルでアプリをプロファイリングしないでください。システムはバックグラウンドの作業も削減するため、パフォーマンス測定は一般的に役に立ちません。
- 深刻なプロファイルで、ゲームプレイ中またはスクロール中の 1 秒あたりのフレーム数などのアプリの指標を測定します。各指標の目標を達成できるようになるまで、コードを最適化します。
- 危機的プロファイルで、リソース使用量をすばやく減らしてアプリが応答することを確認します。過度のエネルギー使用の兆候については、iOS アプリのエネルギー効率ガイドの エネルギー漏れの兆候の観察 をご覧ください。
熱状態に対するアプリの応答は、CPU、GPU、ネットワークなど、熱を生成したり電力を消費したりするリソースの使用を削減することと、ユーザーエクスペリエンスの品質を維持することのバランスです。ゲームのように本質的にリソースを集中的に使用するアプリは、危機的な熱状態を回避するのに十分なリソース使用量を削減し、アプリが応答し続けることを保証できますが、必ずしも名目上の状態に戻るには十分ではありません。リソースを大量に消費せず、公平または深刻な温度状態を引き起こすと予想されないアプリでも、たとえば、ユーザがリソースを大量に消費するアプリを実行しているために、デバイスの温度の制約が発生する可能性があり、温度デバイスの条件下でテストする必要があります。
サポートするデバイスと一致する代表的なデバイスのセットでテストするデバイス条件を有効にします。ハードウェアが異なれば熱特性も異なり、それを最適化するには異なるプロファイリング作業が必要です。iPhone または iPad の 1 つのモデルでパフォーマンスを改善する最適化は、他のモデルに必ずしも同じ効果があるとは限りません。
デバイス条件でテストするときは、テストデバイスが経験する実際の条件を制御します。デバイス条件がシミュレートしている状態よりも、現実の世界が実際に厳しい状態にしたくない場合です。たとえば、デバイスを互いの上に積み重ねるのではなく、デバイスが正常に冷却できるようにデバイスの周囲にスペースを確保します。
以下も見よ