アプリをスムーズに動作させるには、60 fps(16 ms/フレーム)を目標とする必要があります。アプリが必要とするフレーム レンダリング時間を満たしていない場合、システムでフレームをスキップせざるを得なくなります。これは、アプリのスタッタリングとしてユーザーに認識されます。画面フレームが不足することで発生するこの不自然なインタラクションは、ジャンクと呼ばれます。このエクスペリエンスの詳細については、遅いレンダリングをご覧ください。
遅いフレーム、フリーズしたフレーム、ANR の関係
遅いフレーム、フリーズしたフレーム、ANR はすべて、アプリで発生する可能性のあるさまざまな形式のジャンクです。違いについては、以下の表をご覧ください。
遅いフレーム | フリーズしたフレーム | ANR | |
---|---|---|---|
表示に要する時間 | 16 ミリ秒~700 ミリ秒 | 700 ミリ秒~5 秒 | 5 秒より大きい |
ユーザーが知覚できる影響の範囲 |
|
|
|
遅いフレームとフリーズしたフレームの個別のトラッキング
アプリの起動時または別の画面への移行時には、最初のフレームの描画に 16 ミリ秒以上かかることが普通です。これは、アプリがビューを拡大し、画面をレイアウトして最初から描画する必要があるためです。
ジャンクの優先順位付けと解決のためのベスト プラクティス
アプリのジャンクを解決する場合は、次のベスト プラクティスを念頭に置いてください。
- 最も簡単に再現できるジャンクのインスタンスを特定して解決します。
- ANR を優先します。遅いフレームやフリーズしたフレームの場合、アプリが遅く動作しているように見えることがある一方で、ANR が発生するとアプリが停止します。
- 遅いレンダリングを再現するのは難しいですが、700 ミリ秒のフリーズしたフレームを強制終了することから始めることができます。これは、アプリが起動する際や画面を変更するときによく発生します。