Monzo、シンプルなR8アップデートでパフォーマンス指標を... ノート

Monzo、シンプルなR8アップデートでパフォーマンス指標を最大35%向上

ベン・ワイス氏、シニア・デベロッパー・リレーションズ・エンジニアは、アプリのパフォーマンス改善におけるMonzoの成功事例を共有しました。英国のデジタルバンクであるMonzoは、アプリの起動時間を改善すべき重要な課題として特定しました。彼らは、R8のフル最適化を有効にすることで、アプリケーション応答不可(ANR)率を35%も劇的に削減できることを発見しました。この顕著な改善は、たった一つの簡単な変更で達成されました。Monzoの主な変更点は、デフォルトのproguard-android.txtファイルをproguard-android-optimize.txtに切り替えたことです。この変更により、-dontoptimize命令が削除され、R8が意図した最適化を実行できるようになりました。その結果、Monzoはコールドスタート、ウォームスタート、ホットスタートのすべてにおいて、起動の信頼性が向上しました。また、P50およびP90の起動時間も短縮され、起動速度も大幅に改善されました。さらに、アプリのサイズも9%削減されました。R8の最適化を有効にした後、MonzoはKeep設定ファイルをレビューし、改良しました。不要なルールを削除することで、R8がより多くのコードベースを最適化できるようになりました。ユーザーエクスペリエンスをさらに向上させるために、MonzoはBaseline Profilesを実装しました。これは、一般的なユーザーの利用経路であるメインフィードのスクロールおよびレンダリングパフォーマンスの最適化に焦点を当てたものです。その影響は大きく、P90およびP95のスクロールパフォーマンスが大幅に高速化しました。Monzoは、継続的な改善を確実にするために、Baseline Profileの生成をリリースプロセスに統合しました。ワイス氏は、他のチームにも最新のAndroid開発の推奨事項を常に把握しておくことを推奨しています。彼は、現在のプラクティスをGoogleの最新のアプリパフォーマンスに関するアドバイスと定期的に比較検討することを勧めています。Keep Rulesの適切な文書化はMonzoにとって不可欠であることが証明され、これにより廃止されたルールを特定し、安全に削除することができました。