Jetpack Compose のパフォーマンス

Jetpack Compose は、初期設定の状態で優れたパフォーマンスを実現します。ベスト プラクティスに沿ってアプリを構成することで、よくある落とし穴を回避し、Compose アプリケーションのパフォーマンスを最適化できます。

Jetpack Compose のベンチマーク

Jetpack Compose のパフォーマンスを View と比較するために、ヒーロー ベンチマークを使用します。これは、アプリのコールドスタートや、画像を含むリストやグリッドのスクロールなど、重要な実際のユーザー ジャーニーに焦点を当てたベンチマークです。これらの ベンチマークは、オープンソースの Pokedex アプリを使用して実施し、その ViewCompose の実装を比較します。

これらのベンチマークでは、Compose 1.9 以降はスクロール時のジャンクの View パフォーマンスと一致しています。

Compose 1.9.0 以降、Compose と View のジャンク率は同じです
Compose 1.9.0 以降、Compose と View のジャンク率は同じです。

その他の指標と手法については、ヒーロー ベンチマークをご覧ください。

主なコンセプト

Compose のパフォーマンスに関する主なコンセプトは次のとおりです。

  • フェーズ: Compose が UI を更新する方法を最適化するには、コンポーズ、レイアウト、描画の各フェーズを理解することが 重要です。
  • ベースライン プロファイル: これらのプロファイルは重要なコードをプリコンパイルするため、 アプリの起動が速くなり、操作がスムーズになります。
  • 安定性: アプリの安定性を高めて、不要な再コンポーズをより効率的に スキップし、パフォーマンスを向上させます。

アプリを適切に構成する

アプリのパフォーマンスが低い場合は、構成に問題があることが考えられます。最初のステップとして、次の構成オプションを確認することをおすすめします。

ツール

Compose アプリのパフォーマンスの測定 と分析に役立つ一連のツールについて説明します。

ベスト プラクティス

Compose でアプリを開発する際は、次のベスト プラクティスを念頭に置いてください。

詳しくは、ベスト プラクティス ガイドをご覧ください。

視聴回数

Compose ではなく View を使用している場合は、レイアウトのパフォーマンスを改善する専用ガイドをご覧ください。

参考情報