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
Jetpack Compose Debugging to fix performance pr...
Search
Yu Tanigawa
June 01, 2023
Programming
2k
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
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.6k
Workers Cache を知る
syumai
0
350
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
golang-bob.pdf
iwatsukayura
0
120
Domain-Driven Transformation
hschwentner
2
2.3k
ジョジョの世界をXRで再現する
mofurune
0
150
AWSに止められる覚悟してますか?
morizo_1984
2
520
JRuby: Past, Present, and Future
headius
0
230
速習iPhone Duo対応
yuukiw00w
2
980
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
370
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
350
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Making the Leap to Tech Lead
cromwellryan
135
10k
Tell your own story through comics
letsgokoyo
1
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to build a perfect <img>
jonoalderson
1
6.1k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Navigating Team Friction
lara
192
16k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Building AI with AI
inesmontani
PRO
1
1.3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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!