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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
6.1k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.9k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
130
AIで効率化できた業務・日常
ochtum
0
140
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.2k
Vite+ Unified Toolchain for the Web
naokihaba
0
330
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
210
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
560
dRuby over BLE
makicamel
2
380
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.3k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
570
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
370
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Prompt Engineering for Job Search
mfonobong
0
350
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The browser strikes back
jonoalderson
0
1.3k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
Ruling the World: When Life Gets Gamed
codingconduct
0
260
Designing for Timeless Needs
cassininazir
1
260
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!