アプリの起動
アプリの起動のパフォーマンスは、ユーザーエクスペリエンスに直接影響を与えます。アプリの起動が遅いと、ユーザーの不満が募り、アプリを利用しなくなる可能性があります。開発中にコードを最適化することで、アプリの起動時間を短縮できます。 一般的な原因には次のようなものがあります。- JavaScript(JS)バンドルサイズが大きい。
- アプリ起動時のネットワークリクエストの待ち時間が長い。
スクロールが遅い
スクロールが遅くなったりカクカクとしたりするのは一般的なUIパフォーマンスの問題で、リストのナビゲーションの滑らかさに影響を与えます。スムーズなスクロールでは、ユーザーがコンテンツを動かしたときに表示の途切れや遅れが生じることなく、一貫したフレームレートが維持されています。 一般的な原因には次のようなものがあります。- リストのレンダリング効率が悪い。
- JSスレッドの計算負荷が高い。
- リストアイテムのレイアウトが複雑である。
- 画像またはメディアコンテンツが大きい。
- スクロール中の再レンダリングが多すぎる。
キー押下時の遅延が大きい
キー押下遅延は、TVのリモコンボタンを押してからアプリが応答するまでの遅延を示します。TVユーザーは、リモコンを操作したらすぐに反応が返ってくることを期待しているため、この指標はユーザーエクスペリエンスに関して重要な意味を持ちます。 一般的な原因には次のようなものがあります。-
JavaScriptスレッドがビジー状態である。
- JSスレッドでの計算(アニメーション、同期操作)の負荷が高い。
- コンポーネントが不要に再レンダリングされている。
- イベント処理の効率が悪い。
-
JSスレッドのスタベーションが発生している。
- OS上のほかのアプリやプロセスによるCPU使用率が高い。
- バックグラウンドタスクが干渉している。
アプリのメモリが不足する
Vegaプラットフォームでは、アプリとシステムサービスを並行して実行するためにメモリを最適化し、シームレスなユーザーエクスペリエンスを実現しています。以下の厳密なメモリ制限がプラットフォームによって適用されます。- フォアグラウンドアプリ:420Mb
- バックグラウンドアプリ:150Mb
- アプリのメモリ使用量をモニタリングする。
- 最も多くのメモリを消費しているオブジェクトを特定する。
- 不要なメモリ割り当てを解除する。

