Upgrade to Pro — share decks privately, control downloads, hide ads and more …

パフォーマンス監視 ツールの活用

Recruit
September 15, 2023

パフォーマンス監視 ツールの活用

2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。

Recruit

September 15, 2023
Tweet

More Decks by Recruit

Other Decks in Business

Transcript

  1. •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル
 第 4

    レベル
 第 5 レベル マスタ タイトルの書式設定 1 パフォーマンス監視 ツールの活用 Firebase Performance MonitoringとMacrobenchmarkを駆使して Jetpack Compose導入するまで 株式会社リクルート プロダクト統括本部 ビューティープロダクト開発 2グループ 清水大夢
  2. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 2 2 自己紹介
 - 名前
 - Taimu Shimizu(X: @shimizuTaimu) 
 - 所属
 - 『ホットペッパービューティー』Androidアプリ開発チーム 
 - 経歴
 - 2020/10 ~ 2022/3 - ConTechベンチャーにてRailsエンジニア - 2022/4 ~ - 『ホットペッパービューティー』のAndroidエンジニア
  3. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 3 3 本セッションの狙い
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  4. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 4 4 本セッションの狙い
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  5. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 5 5 本セッションの狙い
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  6. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 6 6 本セッションの狙い
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  7. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 7 7 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  8. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 8 8 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  9. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 9 9 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
  10. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 10 10 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
  11. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 11 11 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響
  12. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 12 12 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
  13. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 13 13 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
  14. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 14 14 パフォーマンス計測が必要になった背景
 Jetpack Composeの導入
 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
  15. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 15 15 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  16. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 16 16 パフォーマンス監視ツールの紹介
 今回紹介するパフォーマンス監視ツール
 
 - Firebase Performance Monitoring
 
 - Macrobenchmark
 
 - Microbenchmark
 

  17. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 17 17 Firebase Performance Monitoring パフォーマンス監視ツールの紹介

  18. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 18 18 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 Firebase Performance Monitoringとは?
 
 - アプリのパフォーマンスを自動収集
 
 - 属性別に指標を収集
 
 - アラートの設定が可能

  19. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 19 19 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 - ネットワークリクエスト

  20. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 20 20 - アプリのライフサイクルに関連するトレース
 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring

  21. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 21 21 - 画面のレンダリング
 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring

  22. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 22 22 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 Firebase Performance Monitoringの導入(1/2)
 
 ①モジュール(アプリレベル)のGradleファイルに依存関係 を追加する。

  23. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 23 23 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 Firebase Performance Monitoringの導入(2/2)
 
 ②ルートレベル(プロジェクトレベル)のGradleファイルに プラグインを追加する。
 
 
 ③モジュール(アプリレベル)のGradleファイルにプラグイ ンを追加する。

  24. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 24 24 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 カスタムトレース(1/2)
 
 - 自動で集められる指標に追加して、特定のコードの実行 速度を計測することができる。

  25. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 25 25 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 カスタムトレース(2/2)
 
 - @AddTraceアノテーションを使用すると、メソッドの開始 から終了までの時間を指標として取得できる。

  26. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 26 26 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
 Firebase Performance Monitoringまとめ
 
 - 簡単に導入可能
 
 - 自動収集、手動収集どちらも可能
 
 - アラートの設定可能
 
 - カスタムトレース追加時はプロダクションコードに触れ る

  27. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 27 27 Macrobenchmark パフォーマンス監視ツールの紹介

  28. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 28 28 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkとは?
 
 - JUnit構文を用いたインストゥルメンテーションテスト
 
 - アプリの起動時間や、スクロール時間などのパフォーマ ンスを測定できる。
 
 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。

  29. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 29 29 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkの導入(1/4)
 
 
 
 ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
  30. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 30 30 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkの導入(2/4)
 
 モジュールウィザードにより、ビルドタイプ[benchmark] が、アプリレベルのGradleファイルに追加される。

  31. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 31 31 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkの導入(3/4)
 
 
 モジュールウィザードによ り、 ExampleStartupBenchmark.k tが追加される。
  32. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 32 32 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkの導入(4/4)
 
 ②AndroidManifest.xmlにprofileableタグを追加する。

  33. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 33 33 パフォーマンス監視ツールの紹介: Macrobenchmark
 起動時間の測定(1/3)
 
 指定パラメータは - packageName - metrics - iterations - startupMode - measureBlock pressHome() - ベンチマークを基本状態にリセットする。 startActivityAndWait() - デフォルトのアクティビティを開始し、最初の フレームをレンダリングするまで待つ
  34. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 34 34 パフォーマンス監視ツールの紹介: Macrobenchmark
 起動時間の測定(2/3)
 ①Build Variantをbenchmarkに ②AndroidStudioから実行
  35. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 35 35 パフォーマンス監視ツールの紹介: Macrobenchmark
 起動時間の測定(3/3)
 - 実行結果の「最小値」「中央値」「最大値」が出力される。
  36. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 36 36 パフォーマンス監視ツールの紹介: Macrobenchmark
 スクロール時間の測定(1/2)
 setupBlock - 測定しない準備部分を設定。
  37. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 37 37 パフォーマンス監視ツールの紹介: Macrobenchmark
 スクロール時間の測定(1/2)
 setGestureMargin(device.displayWidth / 5) - アプリがシステムナビゲーションをトリガーして、スクロールしないで終了するのを防ぐた めに追加する。
  38. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 38 38 パフォーマンス監視ツールの紹介: Macrobenchmark
 スクロール時間の測定(2/2)
 frameDurationCpuMs - フレームの生成にかかった時間 fameOverrunMs - フレームがどれだけの期間、期限を超過したか
  39. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 39 39 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkまとめ
 
 - ユーザーに近い状態で測定できる
 
 - プロダクションコードへの影響がない
 
 - CI連携可能
 
 - 自動収集は不可能

  40. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 40 40 Microbenchmark パフォーマンス監視ツールの紹介

  41. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 41 41 パフォーマンス監視ツールの紹介: Microbenchmark
 Microbenchmarkとは?
 
 - JUnit構文を用いたユニットテスト
 
 - コードの実行時間やメモリ割り当て数などのパフォーマ ンスを測定できる。
 
 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。

  42. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 42 42 パフォーマンス監視ツールの紹介: Microbenchmark
 Microbenchmarkの導入(1/3)
 
 
 
 ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
  43. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 43 43 パフォーマンス監視ツールの紹介: Microbenchmark
 Microbenchmarkの導入(2/3)
 
 モジュールウィザードにより、ExampleStartupBenchmark.kt が追加される。
 

  44. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 44 44 パフォーマンス監視ツールの紹介: Microbenchmark
 Microbenchmarkの導入(3/3)
 
 ②新しく追加されたモジュールのGradleファイルに、ベンチ マーク対象のコードを含むモジュールを依存関係として指定 する。

  45. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 45 45 パフォーマンス監視ツールの紹介: Microbenchmark
 runWithTimingDisabled
 - 測定対象外のセットアップコードを記述する。
 

  46. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 46 46 パフォーマンス監視ツールの紹介: Microbenchmark
 Microbenchmarkの実行結果
 - ナノ秒単位で結果が出力される。
  47. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 47 47 パフォーマンス監視ツールの紹介: Macrobenchmark
 Macrobenchmarkまとめ
 
 - コードレベルの実行時間を測定できる
 
 - プロダクションコードへの影響がない
 
 - CI連携可能
 
 - 自動収集は不可能

  48. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 48 48 パフォーマンス監視ツールの紹介: Macrobenchmark
 紹介しなかったパフォーマンス監視ツール
 
 - Profiler
 
 - Perfetto
 

  49. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 49 49 パフォーマンス監視ツールまとめ パフォーマンス監視ツールの紹介

  50. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 50 50 パフォーマンス監視ツールの紹介
 - 今回のJetpackCompose導入においては、案件起案用の指標収集のために、 Firebase Performance MonitoringとMacrobenchmarkを使用することにした。
  51. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 51 51 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  52. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 52 52 Firebase Performance Monitoring 実際に取得した指標

  53. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 53 53 実際に取得した指標: Firebase Performance Monitoring
 計測対象画面
 - Composeで置き換えしたActivity
 
 - 一部をComposeViewで置き換えたFragment
 
 計測対象指標
 - 置き換え対象Activityのレンダリング時間
 
 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間

  54. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 54 54 実際に取得した指標: Firebase Performance Monitoring
 計測対象画面
 - Composeで置き換えしたActivity
 
 - 一部をComposeViewで置き換えたFragment
 
 計測対象指標
 - 置き換え対象Activityのレンダリング時間
 
 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間

  55. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 55 55 実際に取得した指標: Firebase Performance Monitoring
 置き換え対象Activityのレンダリング時間測定(1/2)

  56. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 56 56 実際に取得した指標: Firebase Performance Monitoring
 置き換え対象Activityのレンダリング時間測定(2/2)

  57. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 57 57 実際に取得した指標: Firebase Performance Monitoring
 計測対象画面
 - Composeで置き換えしたActivity
 
 - 一部をComposeViewで置き換えたFragment
 
 計測対象指標
 - 置き換え対象Activityのレンダリング時間
 
 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間

  58. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 58 58 実際に取得した指標: Firebase Performance Monitoring
 onCreate, onCreateViewの実行時間測定
 
 - @AddTraceアノテーションを使用

  59. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 59 59 実際に取得した指標: Firebase Performance Monitoring
 onCreateの実行時間

  60. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 60 60 実際に取得した指標: Firebase Performance Monitoring
 onCreateViewの実行時間

  61. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 61 61 Macrobenchmark 実際に取得した指標

  62. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 62 62 実際に取得した指標: Macrobenchmark
 計測対象画面
 - Composeで置き換えしたActivity
 
 計測対象指標
 - (Compose置き換え前)RecyclerView使用時のスクロール速度
 
 - (Compose置き換え後)LazyColumn使用時のスクロール速度
 
 備考
 - エミュレーターを使用した。

  63. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 63 63 実際に取得した指標: Macrobenchmark
 RecyclerViewでの指標測定コード

  64. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 64 64 実際に取得した指標: Macrobenchmark
 RecyclerViewでの指標測定コード

  65. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 65 65 実際に取得した指標: Macrobenchmark
 RecyclerViewでの指標測定コード

  66. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 66 66 実際に取得した指標: Macrobenchmark
 LazyColumnでの指標測定コード

  67. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 67 67 実際に取得した指標: Macrobenchmark
 LazyColumnでの指標測定コード

  68. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 68 68 実際に取得した指標: Macrobenchmark
 LazyColumnでの指標測定コード
 semanticsを追加しないとtestTag認識されなかった。

  69. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 69 69 実際に取得した指標: Macrobenchmark
 RecyclerViewの測定結果
 
 
 
 LazyColumnの測定結果
 
 
 

  70. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 70 70 実際に取得した指標: Macrobenchmark

  71. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 71 71 実際に取得した指標: Macrobenchmark
 Compose置き換えによってパフォーマンスが悪化した
  72. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 72 72 実際に取得した指標: Macrobenchmark
 パフォーマンス悪化の原因を調べていると・・
 参照:https://android-developers-jp.googleblog.com/2022/03/improving-app-performance-with-baseline.html
  73. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 73 73 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルとは
 
 - APKに含まれるクラスとメソッドのリスト
 
 - Macrobenchmarkを使用して、作成することが可能
 
 - クラウドプロファイルと違い、リリース後すぐに適用さ れる

  74. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 74 74 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成準備(1/3)
 
 モジュール(アプリレベル)のGradleファイルに profileinstallerライブラリを追加

  75. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 75 75 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成準備(2/3)
 
 appモジュール内に
 benchmarkrules.pro
 を作成

  76. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 76 76 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成準備(3/3)
 
 buildType benchmarkでproguardFilesに benchmark-rules.proを指定

  77. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 77 77 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成(1/3)
 
 

  78. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 78 78 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成(2/3)
 
 

  79. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 79 79 実際に取得した指標: Macrobenchmark
 ベースラインプロファイルの作成(3/3)
 
 
 
 
 
 
 「baseline-prof.txt」にrename
 app/src/main配下に保存する。
  80. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 80 80 実際に取得した指標: Macrobenchmark
 ベースラインプロファイル作成後のRecyclerViewの測定結果
 
 
 
 ベースラインプロファイル作成後のLazyColumnの測定結果
 
 
 

  81. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 81 81 実際に取得した指標: Macrobenchmark

  82. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 82 82 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  83. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 83 83 取得した指標を元にした今後の動き
 以下指標をまとめ案件検討に持ち込み工数を獲得する。
 
 - 今回取得したパフォーマンス指標
 
 - 置き換えによる見込みコード削減量
 
 - 置き換えの開発工数

  84. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 84 84 取得した指標を元にした今後の動き
 Compose置き換えにおけるパフォーマンス監視体制を敷く。
 
 ①基本的にはFirebase Performance Monitoringでのアラー ト設定での監視
 
 ②アラートに引っかかった画面や、使用頻度の多い重要画面 に関してはベースラインプロファイルを更新する

  85. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 85 85 目次
 - パフォーマンス計測が必要になった背景
 
 - パフォーマンス監視ツールの紹介
 
 - 実際に取得した指標
 
 - 取得した指標を元にした今後の動き
 
 - まとめ

  86. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 86 86 まとめ
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  87. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 87 87 まとめ
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  88. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 88 88 まとめ
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  89. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 89 89 まとめ
 パフォーマンス監視ツールの紹介
 
 実際の現場への導入
 
 データ駆動の意識
 

  90. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 91 91 参考文献
 - https://firebase.google.com/docs/perf-mon?hl=ja 
 
 - https://developer.android.com/topic/performance/benchmarking/macrobenchmar k-overview?hl=ja
 
 - https://developer.android.com/codelabs/android-macrobenchmark-inspect?hl=j a#0
 
 - https://developer.android.com/topic/performance/benchmarking/microbenchmar k-overview?hl=ja
 
 - https://android-developers-jp.googleblog.com/2022/03/improving-app-perform ance-with-baseline.html 
 
 - https://developer.android.com/studio/profile/baselineprofiles?hl=ja 

  91. マスタ タイトルの書式設定 •マスター テキストの書式設定
 第 2 レベル
 第 3 レベル


    第 4 レベル
 第 5 レベル 92 92 ご清聴ありがとうございました。