Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
パフォーマンス監視 ツールの活用
Search
Recruit
PRO
September 15, 2023
Business
2
2.5k
パフォーマンス監視 ツールの活用
2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。
Recruit
PRO
September 15, 2023
Tweet
Share
More Decks by Recruit
See All by Recruit
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
3
720
リクルート流データ基盤塾~鶴谷と学ぶ~
recruitengineers
PRO
4
60
『SUUMO』 スマホサイト デザインリニューアルへの挑戦
recruitengineers
PRO
5
240
『リクルートダイレクトスカウト』 のリニューアルから振り返る: ビジョンドリブンの可能性
recruitengineers
PRO
3
210
負債あるモノリスのオブザーバビリティに組織で向き合う
recruitengineers
PRO
9
350
あなたの知らないiOS開発の世界
recruitengineers
PRO
4
290
大規模プロダクトにおける組織作りと技術ポートフォリオマネジメント
recruitengineers
PRO
4
390
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
5
620
リクルート新人研修2024 テキスト生成AI活用
recruitengineers
PRO
12
830
Other Decks in Business
See All in Business
株式会社エアロネクスト_会社紹介資料
aeronext
0
140
3分でわかるDomuz(採用資料)
kimpachi_d
0
12k
全社プロダクトマネジメント! 職能と職位を乗り越えて若々しいチームを実現しよう/create a agile team beyond roles and ranks
moriyuya
4
320
アッテル会社紹介資料/culture deck
attelu
10
13k
家族アルバム みてね 事業紹介 / Our Business
familyalbum
4
21k
スピークバディ_法人事業部紹介
speakbuddy
0
480
楽観的スクラムマスター
tonionagauzzi
0
250
ClipLine株式会社_会社紹介資料
clipline
0
240
unnameカルチャーブック 2024.09.26 update
unnameinc
4
9.4k
Timeless Principles: Google’s Constant Journey Through Past, Present, and Future
chapter42
0
170
【BlueBean】BPO事業者向け提案資料
my0313
0
200
Amazon 流のプロダクトマネジメント @ Product DeepLive 会場 + 懇親会スポンサーセッション
icoxfog417
3
230
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.5k
KATA
mclloyd
28
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
A Modern Web Designer's Workflow
chriscoyier
692
190k
Facilitating Awesome Meetings
lara
49
6k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
Code Review Best Practice
trishagee
63
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
105
48k
Docker and Python
trallard
40
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.3k
Transcript
•マスター テキストの書式設定 第 2 レベル 第 3 レベル 第 4
レベル 第 5 レベル マスタ タイトルの書式設定 1 パフォーマンス監視 ツールの活用 Firebase Performance MonitoringとMacrobenchmarkを駆使して Jetpack Compose導入するまで 株式会社リクルート プロダクト統括本部 ビューティープロダクト開発 2グループ 清水大夢
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 2 2 自己紹介 - 名前 - Taimu Shimizu(X: @shimizuTaimu) - 所属 - 『ホットペッパービューティー』Androidアプリ開発チーム - 経歴 - 2020/10 ~ 2022/3 - ConTechベンチャーにてRailsエンジニア - 2022/4 ~ - 『ホットペッパービューティー』のAndroidエンジニア
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 3 3 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 4 4 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 5 5 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 6 6 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 7 7 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 8 8 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 9 9 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 10 10 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 11 11 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 12 12 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 13 13 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 14 14 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 15 15 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 16 16 パフォーマンス監視ツールの紹介 今回紹介するパフォーマンス監視ツール - Firebase Performance Monitoring - Macrobenchmark - Microbenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 17 17 Firebase Performance Monitoring パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 18 18 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringとは? - アプリのパフォーマンスを自動収集 - 属性別に指標を収集 - アラートの設定が可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 19 19 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring - ネットワークリクエスト
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 20 20 - アプリのライフサイクルに関連するトレース パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 21 21 - 画面のレンダリング パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 22 22 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringの導入(1/2) ①モジュール(アプリレベル)のGradleファイルに依存関係 を追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 23 23 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringの導入(2/2) ②ルートレベル(プロジェクトレベル)のGradleファイルに プラグインを追加する。 ③モジュール(アプリレベル)のGradleファイルにプラグイ ンを追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 24 24 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring カスタムトレース(1/2) - 自動で集められる指標に追加して、特定のコードの実行 速度を計測することができる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 25 25 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring カスタムトレース(2/2) - @AddTraceアノテーションを使用すると、メソッドの開始 から終了までの時間を指標として取得できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 26 26 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringまとめ - 簡単に導入可能 - 自動収集、手動収集どちらも可能 - アラートの設定可能 - カスタムトレース追加時はプロダクションコードに触れ る
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 27 27 Macrobenchmark パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 28 28 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkとは? - JUnit構文を用いたインストゥルメンテーションテスト - アプリの起動時間や、スクロール時間などのパフォーマ ンスを測定できる。 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 29 29 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(1/4) ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 30 30 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(2/4) モジュールウィザードにより、ビルドタイプ[benchmark] が、アプリレベルのGradleファイルに追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 31 31 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(3/4) モジュールウィザードによ り、 ExampleStartupBenchmark.k tが追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 32 32 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(4/4) ②AndroidManifest.xmlにprofileableタグを追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 33 33 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(1/3) 指定パラメータは - packageName - metrics - iterations - startupMode - measureBlock pressHome() - ベンチマークを基本状態にリセットする。 startActivityAndWait() - デフォルトのアクティビティを開始し、最初の フレームをレンダリングするまで待つ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 34 34 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(2/3) ①Build Variantをbenchmarkに ②AndroidStudioから実行
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 35 35 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(3/3) - 実行結果の「最小値」「中央値」「最大値」が出力される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 36 36 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(1/2) setupBlock - 測定しない準備部分を設定。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 37 37 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(1/2) setGestureMargin(device.displayWidth / 5) - アプリがシステムナビゲーションをトリガーして、スクロールしないで終了するのを防ぐた めに追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 38 38 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(2/2) frameDurationCpuMs - フレームの生成にかかった時間 fameOverrunMs - フレームがどれだけの期間、期限を超過したか
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 39 39 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkまとめ - ユーザーに近い状態で測定できる - プロダクションコードへの影響がない - CI連携可能 - 自動収集は不可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 40 40 Microbenchmark パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 41 41 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkとは? - JUnit構文を用いたユニットテスト - コードの実行時間やメモリ割り当て数などのパフォーマ ンスを測定できる。 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 42 42 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(1/3) ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 43 43 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(2/3) モジュールウィザードにより、ExampleStartupBenchmark.kt が追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 44 44 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(3/3) ②新しく追加されたモジュールのGradleファイルに、ベンチ マーク対象のコードを含むモジュールを依存関係として指定 する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 45 45 パフォーマンス監視ツールの紹介: Microbenchmark runWithTimingDisabled - 測定対象外のセットアップコードを記述する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 46 46 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの実行結果 - ナノ秒単位で結果が出力される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 47 47 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkまとめ - コードレベルの実行時間を測定できる - プロダクションコードへの影響がない - CI連携可能 - 自動収集は不可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 48 48 パフォーマンス監視ツールの紹介: Macrobenchmark 紹介しなかったパフォーマンス監視ツール - Profiler - Perfetto
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 49 49 パフォーマンス監視ツールまとめ パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 50 50 パフォーマンス監視ツールの紹介 - 今回のJetpackCompose導入においては、案件起案用の指標収集のために、 Firebase Performance MonitoringとMacrobenchmarkを使用することにした。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 51 51 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 52 52 Firebase Performance Monitoring 実際に取得した指標
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 53 53 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 54 54 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 55 55 実際に取得した指標: Firebase Performance Monitoring 置き換え対象Activityのレンダリング時間測定(1/2)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 56 56 実際に取得した指標: Firebase Performance Monitoring 置き換え対象Activityのレンダリング時間測定(2/2)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 57 57 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 58 58 実際に取得した指標: Firebase Performance Monitoring onCreate, onCreateViewの実行時間測定 - @AddTraceアノテーションを使用
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 59 59 実際に取得した指標: Firebase Performance Monitoring onCreateの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 60 60 実際に取得した指標: Firebase Performance Monitoring onCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 61 61 Macrobenchmark 実際に取得した指標
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 62 62 実際に取得した指標: Macrobenchmark 計測対象画面 - Composeで置き換えしたActivity 計測対象指標 - (Compose置き換え前)RecyclerView使用時のスクロール速度 - (Compose置き換え後)LazyColumn使用時のスクロール速度 備考 - エミュレーターを使用した。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 63 63 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 64 64 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 65 65 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 66 66 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 67 67 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 68 68 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード semanticsを追加しないとtestTag認識されなかった。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 69 69 実際に取得した指標: Macrobenchmark RecyclerViewの測定結果 LazyColumnの測定結果
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 70 70 実際に取得した指標: Macrobenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 71 71 実際に取得した指標: Macrobenchmark Compose置き換えによってパフォーマンスが悪化した
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 72 72 実際に取得した指標: Macrobenchmark パフォーマンス悪化の原因を調べていると・・ 参照:https://android-developers-jp.googleblog.com/2022/03/improving-app-performance-with-baseline.html
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 73 73 実際に取得した指標: Macrobenchmark ベースラインプロファイルとは - APKに含まれるクラスとメソッドのリスト - Macrobenchmarkを使用して、作成することが可能 - クラウドプロファイルと違い、リリース後すぐに適用さ れる
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 74 74 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(1/3) モジュール(アプリレベル)のGradleファイルに profileinstallerライブラリを追加
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 75 75 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(2/3) appモジュール内に benchmarkrules.pro を作成
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 76 76 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(3/3) buildType benchmarkでproguardFilesに benchmark-rules.proを指定
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 77 77 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(1/3)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 78 78 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(2/3)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 79 79 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(3/3) 「baseline-prof.txt」にrename app/src/main配下に保存する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 80 80 実際に取得した指標: Macrobenchmark ベースラインプロファイル作成後のRecyclerViewの測定結果 ベースラインプロファイル作成後のLazyColumnの測定結果
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 81 81 実際に取得した指標: Macrobenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 82 82 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 83 83 取得した指標を元にした今後の動き 以下指標をまとめ案件検討に持ち込み工数を獲得する。 - 今回取得したパフォーマンス指標 - 置き換えによる見込みコード削減量 - 置き換えの開発工数
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 84 84 取得した指標を元にした今後の動き Compose置き換えにおけるパフォーマンス監視体制を敷く。 ①基本的にはFirebase Performance Monitoringでのアラー ト設定での監視 ②アラートに引っかかった画面や、使用頻度の多い重要画面 に関してはベースラインプロファイルを更新する
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 85 85 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 86 86 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 87 87 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 88 88 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 89 89 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 90 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
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 92 92 ご清聴ありがとうございました。