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.9k
パフォーマンス監視 ツールの活用
2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。
Recruit
PRO
September 15, 2023
Tweet
Share
More Decks by Recruit
See All by Recruit
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
400
RECRUIT TECH CONFERENCE 2025 プレイベント【関田】
recruitengineers
PRO
0
75
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
RECRUIT TECH CONFERENCE 2025 プレイベント【岡本】
recruitengineers
PRO
2
89
RECRUIT TECH CONFERENCE 2025 プレイベント【恒川】
recruitengineers
PRO
0
80
20250130_『SUUMO』の裏側!第2弾 ~機械学習エンジニアリング編
recruitengineers
PRO
1
1k
Asset Centric な データ変換パイプラインの攻略法
recruitengineers
PRO
1
150
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
220
デザイン初め新年会2025_川端_PdM Days2025
recruitengineers
PRO
1
81
Other Decks in Business
See All in Business
不確実性の高い仮説を 迅速に検証するための開発プロセス
mkitahara01985
2
140
SaaSの次なる潮流BPaaS ゼロイチの事業づくりと伴走するプロダクト開発の裏側
kubell_hr
3
1.6k
株式会社AbemaTV 会社説明資料
abematv
2
1k
Pleap Inc. Corporate deck for Recruit
medimo
PRO
0
730
ビジネスで活かす生成AIエージェント 〜業務利用を目指して今を俯瞰的に理解しよう〜
masatoto
4
210
圧倒的な営業生産性の確立
kotohashi
1
370
Sales Marker Culture Book(English)
salesmarker
PRO
2
3.8k
粉末食品のOEM:三求化学工業
sankyu_chemical_industry
0
120
コミュニティと横断組織を活かす“三菱電機”のre:Invent
licux
1
130
RAKSUL会社紹介資料 / RAKSUL Introduction
raksulrecruiting
8
81k
生成AIを活用した勉強法 ~電車内でできたAWS Certified AI Practitioner過去問対策~
yuta3110
0
210
2ndPASS_リクルートガイド2024
akinodaichi
0
510
Featured
See All Featured
Fireside Chat
paigeccino
34
3.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Writing Fast Ruby
sferik
628
61k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Building Your Own Lightsaber
phodgson
104
6.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
The Language of Interfaces
destraynor
156
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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 ご清聴ありがとうございました。