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.7k
パフォーマンス監視 ツールの活用
2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。
Recruit
PRO
September 15, 2023
Tweet
Share
More Decks by Recruit
See All by Recruit
Balancing Revenue Goals and Off-Policy Evaluation Performance in Coupon Allocation
recruitengineers
PRO
1
12
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
VPC Traffic Mirroring とOSS を利⽤した ネットワークフォレンジック基盤の構築・運⽤
recruitengineers
PRO
1
44
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
3
1.1k
リクルート流データ基盤塾~鶴谷と学ぶ~
recruitengineers
PRO
5
250
『SUUMO』 スマホサイト デザインリニューアルへの挑戦
recruitengineers
PRO
5
340
『リクルートダイレクトスカウト』 のリニューアルから振り返る: ビジョンドリブンの可能性
recruitengineers
PRO
3
310
負債あるモノリスのオブザーバビリティに組織で向き合う
recruitengineers
PRO
9
400
あなたの知らないiOS開発の世界
recruitengineers
PRO
4
330
Other Decks in Business
See All in Business
サーキュレーション会社説明資料
circulation
2
18k
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
6
230k
パーキング・チケット 発給設備のキャッシュレス化
tokyo_metropolitan_gov_digital_hr
0
280
SaaS開発における手戻りを減らすためのリファインメントの実践
bicstone
3
630
VISASQ: ABOUT US
eikohashiba
15
460k
Startup CTO of the year 2024 株式会社ハイヤールー
kkosukeee
0
3.8k
“難しい”をもっと楽に簡単に♪ 届出ダンジョンからの脱出
tokyo_metropolitan_gov_digital_hr
0
310
M&A Cloud Advisory Partners 採用ピッチブック
macloud
1
13k
5 Things Every L&D Pro Should Steal From Marketing
trainlikeamarketer
0
420
merpay-overview_en
mercari_inc
1
17k
HireRoo Culture Deck(日本語)
kkosukeee
1
25k
【DearOne】Dear Newest Member
hrm
2
6k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
A designer walks into a library…
pauljervisheath
204
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
For a Future-Friendly Web
brad_frost
175
9.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Building an army of robots
kneath
302
43k
Agile that works and the tools we love
rasmusluckow
327
21k
The Cult of Friendly URLs
andyhume
78
6k
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 ご清聴ありがとうございました。