Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
パフォーマンス監視 ツールの活用
Search
Recruit
PRO
September 15, 2023
Business
3.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
パフォーマンス監視 ツールの活用
2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。
Recruit
PRO
September 15, 2023
More Decks by Recruit
See All by Recruit
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
6
2.4k
ブラウザ研修 2026
recruitengineers
PRO
8
1.5k
事業価値と Engineering 2026年度版
recruitengineers
PRO
58
28k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.3k
JavaScript 研修 (2026)
recruitengineers
PRO
2
770
TypeScript入門 2026
recruitengineers
PRO
3
1.4k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
1.1k
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
1k
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.8k
Other Decks in Business
See All in Business
どうせなら「楽しい仕事」をする
kozotaira
0
330
株式会社L is B 会社紹介 / LisB Corp. Introduction 20260814
lisbcorp
PRO
0
1.2k
“隣のチームの改善の取り組み”を見える化 すれば、チームはもっと良くなると思っていた。同じ部署 19チーム・243件 の取り組みを見える化した記録と、見えてきた 壁と価値
hansodeeeeee
0
220
課題発見から始めるプロダクト密着型TA組織立ち上げ 〜小規模TAチームが3Dアセットの生産性を倍にした方法〜
gree_tech
PRO
0
910
PMよ、エゴイストになれ!
suh1101
0
200
Bet AI Day 2026丨LayerXの採用を支える組織AIの現在地と、Agentに任せる未来
layerx
PRO
10
13k
NEXERA inc. | Company Deck
nexera
0
25k
なんとかする力 〜 Android エンジニアからマネージャー、さらにその先へ? 〜
m_coder
2
450
キャリアを紡ぐ透明性〜肩書に縛られない転職を実現する/Transparency Weaving Your Career
ikuodanaka
3
1.1k
UNICORN株式会社2026会社説明資料
unicorn
0
1.7k
20年続く長寿タイトルが、15年目にして売上を伸ばせた理由
gree_tech
PRO
0
1.4k
ログラス会社紹介資料 新卒採用 ビジネス職[経営幹部候補]/ Loglass Company Deck
loglass2019
2
25k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
Done Done
chrislema
186
16k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
First, design no harm
axbom
PRO
2
1.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
700
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Designing for Timeless Needs
cassininazir
1
470
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 ご清聴ありがとうございました。