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
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
5分で問診!Composer セキュリティ健康診断
codmoninc
0
490
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.5k
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
200
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
130
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
170
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
200
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
140
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
270
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.8k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
530
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Embracing the Ebb and Flow
colly
88
5.1k
Believing is Seeing
oripsolob
1
170
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
640
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Mind Mapping
helmedeiros
PRO
1
290
New Earth Scene 8
popppiees
3
2.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Discover your Explorer Soul
emna__ayadi
2
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
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!