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
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
130
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
490
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.3k
What's New in Android 2026
veronikapj
0
260
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
250
yield再入門 #phpcon
o0h
PRO
0
1k
メールのエイリアス機能を履き違えない
isshinfunada
0
230
「人を評価する AI」の設計と実装
ryoyanara
0
190
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Thoughts on Productivity
jonyablonski
76
5.3k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
What's in a price? How to price your products and services
michaelherold
247
13k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Faster Mobile Websites
deanohume
310
32k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Leveraging Curiosity to Care for An Aging Population
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!