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
Google I/O 2023 - Debugging Jetpack Composeについて
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shun Miyazaki
June 08, 2023
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google I/O 2023 - Debugging Jetpack Composeについて
Google I/O 2023 に行われたセッション「Debugging Jetpack Compose」の内容 / 感想をまとめたものです。
Shun Miyazaki
June 08, 2023
More Decks by Shun Miyazaki
See All by Shun Miyazaki
DroidKaigi2025アプリのスクリーンショットテストが失敗していた原因を調べてみた
shunm
0
250
DroidKaigi アプリに初コントリビュートしました
shunm
0
110
Kotlinで簡単なDSLを作ってみる
shunm
0
66
Google I/O 2024 - Gemeni API on Androidの解説
shunm
0
900
Jetpack Compose で SharedElementTransitionっぽい挙動をやってみる
shunm
0
200
Other Decks in Technology
See All in Technology
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
2
1.3k
Claude Code 珍プレー好プレー
shinyasaita
0
290
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
1.7k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
2.9k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
140
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
120
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
2
2.8k
SRE Lounge Hiroshimaへの招待
grimoh
0
410
AI Driven AI Governance
pict3
0
280
どうして今サーバーサイドKotlinを選択したのか
nealle
0
210
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
150
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
8.1k
Featured
See All Featured
Docker and Python
trallard
47
3.9k
KATA
mclloyd
PRO
35
15k
4 Signs Your Business is Dying
shpigford
187
22k
RailsConf 2023
tenderlove
30
1.5k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Un-Boring Meetings
codingconduct
0
330
Design in an AI World
tapps
1
260
Done Done
chrislema
186
16k
Transcript
Google I/O 2023 Debugging Jetpack Compose について 宮﨑 瞬
本発表について 本発表は以下のセッション内容から、 個人的に気になった点をまとめたものです。 Debugging Jetpack Compose - Youtube h6ps://youtu.be/Kp-aiSU8qCU
セッション内容 Jetpack Composeの開発で、遭遇する問題の解決方法について、 解説してくれている。 Common Issues(⭐が本発表で話すところ) ・ Why is this
composable recomposing? ⭐ ・Problem: Frequent Recomposition ・How do I know what's wrong with my UI on different form factors? ・Why am I seeing Jank? ・Where should I focus on optimising?
Why is this composable recomposing? なぜ、このcomposableで、recomposeが実⾏されるのか?
Recomposeには3種類ある 1.Direct recomposition 変更された変数を参照しているComposeの、Recomposeが⾛る 2.Indirect recomposition 変更された変数を直接参照していないが、 変更された変数を、計算に使⽤している変数を参照しているComposableのRecomposeが⾛る 3.Unskippable recomposition
変更されていないが、 Unstableで、immutable(不変)であることを担保できないため、Recomposeが⾛る
Direct recomposition countが変更されると、TextのRecomposeが⾛る Debugging Jetpack Compose - Youtube https://youtu.be/Kp-aiSU8qCU
Indirect recomposition countが変更されると、 doubledが変更されて、MyTextのRecomposeが⾛る Debugging Jetpack Compose - Youtube h6ps://youtu.be/Kp-aiSU8qCU
Unskippable recomposition countが変更されると、listは値が変わっていないが、 Unstableなので、MyListのRecomposeが⾛る Debugging Jetpack Compose - Youtube h6ps://youtu.be/Kp-aiSU8qCU
Recomposeが 実⾏された理由をどうやって 確かめるか?
Compose state information in debugger Android Studio Hedgehogから、 Compose state
information in debuggerが使える h<ps://developer.android.com/studio/preview/features#compose- state-in-debugger Debugging Jetpack Compose - Youtube https://youtu.be/Kp-aiSU8qCU 検査したいところに、 breakpointを設置して、debugする。 Debuggerで、Recompositon Stateを見ることができる。
Debuggerで検証できるもの Changed State ・Unchanged - 変数は変更されていない ・Changed - 変数は変更された ・Uncertain
- 変数が変更されたかどうか、まだ評価中 ・Static - 変数は絶対に変更されない ・Unstable - 変数はunstable type(不変性が担保できない)
使⽤例1 isFollewedが変更されたので、Recomposeが実⾏ Debugging Jetpack Compose - Youtube https://youtu.be/Kp-aiSU8qCU
使⽤例2 podcastsがUnstableなので、Recomposeが実⾏ Debugging Jetpack Compose - Youtube h6ps://youtu.be/Kp-aiSU8qCU
まとめ ・Recomposeには3種類ある ・Android Studio Hedgehogで追加された、Compose state information in debuggerで、Recomposeの原因を検証できる