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
Jetpack Compose Debugging to fix performance pr...
Search
Yu Tanigawa
June 01, 2023
Programming
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Jetpack Compose Debugging to fix performance problems
Yu Tanigawa
June 01, 2023
Other Decks in Programming
See All in Programming
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
150
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
670
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
640
Introducing Stack Pull Request in GitHub
kkamegawa
0
120
仕様駆動開発の消費期限
watany
20
9.2k
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
850
リアルな遅延を測る仕様
kota_yata
1
130
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
「人を評価する AI」の設計と実装
ryoyanara
0
280
AIエージェント時代のコードレビューを設計する
nogu66
3
660
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
580
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
250
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
First, design no harm
axbom
PRO
2
1.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Optimizing for Happiness
mojombo
378
71k
A designer walks into a library…
pauljervisheath
211
24k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
WCS-LA-2024
lcolladotor
0
820
Into the Great Unknown - MozCon
thekraken
41
2.7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
520
Designing for Timeless Needs
cassininazir
1
460
Transcript
Jetpack Compose Debugging to fix performance problems Yahoo Japan Corpora+on
Android App Developer, Yu Tanigawa © Yahoo Japan
About Me • I’m an Android app engineer at Yahoo!
JAPAN since 2021. • I’m developing PayPay Flea Market and Yahoo! AucCon app. • I have been developing personal Android app since I was a student. © Yahoo Japan
About Me • I’m an Android app engineer at Yahoo!
JAPAN since 2021. • I’m developing PayPay Flea Market and Yahoo! AucCon app. • I have been developing personal Android app since I was a student. © Yahoo Japan
Agenda In this session, I will recap about “Debugging Jetpack
Compose” lecture of Google I/O 2023. h"ps://io.google/2023/program/a3ed5302-d787-41bd-8623-54193d36caf0/intl/ja/ © Yahoo Japan
Agenda • RecomposiCon State in Debugger • Layout Inspector •
DemonstraCon • Summary © Yahoo Japan
01. Recomposi-on State in Debugger © Yahoo Japan
Recomposi3on State in Debugger • Android Studio Hedgehog or later
can check the “RecomposiCon State” within the standard debugger • By checking the “RecomposiCon State”, it is possible to easily check the parameters that triggered the recomposiCon © Yahoo Japan
Recomposi3on State in Debugger • Android Studio (Hedgehog) からデバッグツールでComposableの検証がし易 くなった
• 「Recompositon State」というパラメータをデバッガで⾒れるようになった © Yahoo Japan
Recomposi3on State in Debugger • Android Studio Hedgehog or later
can check the “RecomposiCon State” within the standard debugger • By checking the “RecomposiCon State”, it is possible to easily check the parameters that triggered the recomposiCon © Yahoo Japan
Recomposi3on State in Debugger • Android Studio Hedgehog or later
can check the “RecomposiCon State” within the standard debugger • By checking the “RecomposiCon State”, it is possible to easily check the parameters that triggered the recomposiCon “isShowLikeBu-on” has Changed © Yahoo Japan
Recomposi3on State in Debugger • Unchanged • Changed • Uncertain
• Sta.c • Unstable © Yahoo Japan
02. Layout Inspector © Yahoo Japan
Layout Inspector Pros • Debug the scrolling of lists and
ViewPager without stopping the app • It is possible to intuiCvely understand the recomposiCon count only within this tool. • Visual confirmaCon of the recomposed area Cons • Unable to idenCfy the parameter that triggered the recomposiCon © Yahoo Japan
Layout Inspector © Yahoo Japan
Layout Inspector © Yahoo Japan
Layout Inspector © Yahoo Japan
Layout Inspector Recompose count: Indicates that the parameters have been
changed and redrawn Skipped count: Count of skipped composiCons, assuming no difference in parameters © Yahoo Japan
Layout Inspector • Recomposed Composable is highlighted in blue to
visually confirm the extent of the redraw. © Yahoo Japan
03. Demonstra-on © Yahoo Japan
Demonstra3on In this demonstraCon, I will add items to head
of items list. © Yahoo Japan
Demonstra3on a © Yahoo Japan
Demonstra3on a © Yahoo Japan
Demonstra3on Pass ITEM ID as the key in LazyVerCcalGrid items.
© Yahoo Japan
Demonstra3on Pass ITEM ID as the key in LazyVerCcalGrid items.
items( items = items, key = { it.id } ) { item -> Item(item = item, isShowLikeBubon = isShowLikeBubon, onClickLike = onClickLike) } © Yahoo Japan
Demonstra3on Pass ITEM ID as the key in LazyVerCcalGrid items.
items( items = items, key = { it.id } ) { item -> Item(item = item, isShowLikeBubon = isShowLikeBubon, onClickLike = onClickLike) } © Yahoo Japan
Demonstra3on © Yahoo Japan
Demonstra3on © Yahoo Japan
04. Summary © Yahoo Japan
Summary • Android Studio Hedgehog or later can check the
status of recomposiCons within the standard debugger • Layout Inspector provides a method to check recomposiCon and skipped count without stopping the applicaCon. • Layout Inspector allows you to visually and clearly see the recomposed area when data has changed. © Yahoo Japan
© Yahoo Japan Thank you for listening!