More performance tips for Jetpack Compose

  Рет қаралды 37,362

Android Developers

Android Developers

Жыл бұрын

A follow up to the Common Performance Gotchas I/O in Jetpack Compose talk. We go further into the details of why deferring reads of Compose state works, learn about stability and how Compose infers it, have a look at a new API for reportFullyDrawn, and more.
Speaker: Ben Trengrove
Watch more:
Watch all the Android Dev Summit sessions → goo.gle/ADS-All
Watch all the Modern Android Development track sessions → goo.gle/ADS-MAD
Subscribe to Android Developers → goo.gle/AndroidDevs
#Featured #AndroidDevSummit #JetpackCompose

Пікірлер: 35
@SiamakAshrafi
@SiamakAshrafi Жыл бұрын
That's a lot to remember and check. Please move as many checks into Android Studio warnings as possible!
@bentrengrove8024
@bentrengrove8024 Жыл бұрын
Thanks for the feedback. Keep in mind, these are not requirements. These are tips to help solve issues you might run into after identifying you have a performance problem. We do provide lint checks wherever we can and continue to add more.
@SiamakAshrafi
@SiamakAshrafi Жыл бұрын
@@bentrengrove8024 True 🙂
@chriscross7671
@chriscross7671 8 ай бұрын
I believe it's a clear indicator of significant design deficiencies when individuals must be instructed in numerous performance optimization techniques just to make basic use cases such as a rendering a bunch of list items function efficiently on today's hardware.
@markonovakovic3838
@markonovakovic3838 Жыл бұрын
great presentation. I like "tools over rules" approach and frequent disclaimers
@CommanderSteps
@CommanderSteps Жыл бұрын
Thank you for this video! Performance tips are always helpful. 🙏🏻
@ashishgautam2842
@ashishgautam2842 Жыл бұрын
amazing, understanding compose day by day
@diegoalarcon7010
@diegoalarcon7010 Жыл бұрын
am I the only one who thinks that all of this is very difficult to remember? I have more than 5 years working with Android and everyday there's something new to improve
@litpen8056
@litpen8056 5 ай бұрын
then later on, after mastering this library, a new library is introduced.
@user-jr9wn8sx1m
@user-jr9wn8sx1m 10 ай бұрын
dear god. I need to cry a bit
@julioconradomarinardila3269
@julioconradomarinardila3269 4 күн бұрын
Jetpack compose es una gran herramienta de trabajo
@ssverma1916
@ssverma1916 Жыл бұрын
Very informative 👍
@McMouse88
@McMouse88 3 ай бұрын
It was very interesting, thank you so much )
@kalidsherefuddin
@kalidsherefuddin Жыл бұрын
Very thanks
@oguzhanaslan494
@oguzhanaslan494 Жыл бұрын
Awesome!
@coldwised
@coldwised 3 ай бұрын
should we use remember in the latest version for derivedStateOf?
@devnachi
@devnachi 11 ай бұрын
I had a doubt that will if i have two composable nesting from a parent composable, and there is a mutable list passed to the first child but no change occurs to second child but it still recomposes. But if the parent is itself part of a list than will all the instances also recompose runtime or only the particular list item affected ?
@litpen8056
@litpen8056 5 ай бұрын
cannot skip if parameter is unstable or mutable state parameter changes. that is it. from understanding.
@devnachi
@devnachi 5 ай бұрын
@@litpen8056 ok, got it! Actually I asked this, seeing a nested composable in one of my apps is incredibly slow on a fast fling scroll. And I cannot use the lazy column as it doesn't support nesting.
@vengateshm2122
@vengateshm2122 Жыл бұрын
That's lot to remember
@koetjape4440
@koetjape4440 Жыл бұрын
Hello everyone. Could you explain me, why using lambda in 6:04 is more perofrmant ? I dont understand why and how it works. Thanks!
@markonovakovic3838
@markonovakovic3838 Жыл бұрын
Compose is looking for minimal possible scope that needs to be recomposed. scope is function where State is read. if State is read inside "Parent" than "Parent" becomes scope, if it's read inside "Child" than "Child" becomes scope. but when State is read inside of lambda and that lambda becomes the scope and only it and it's children are/might be recomposed. here it has no children so only it, lambda, is recomposed, Compose doesn't have to look up the tree for the scope anymore.
@litpen8056
@litpen8056 5 ай бұрын
@@markonovakovic3838 in summary from understanding, lambda creates a child scope, making sure the parent scope is not touched/recomposes.
@lemondog252
@lemondog252 10 ай бұрын
does anyone know where to find -composables.txt file?
@puhgeh
@puhgeh 7 ай бұрын
i know this is almost a year old, but could you please add timestamps? this is quite a lot to digest so we need it to go back and fort to rewatch specific topics.. thanks
@AhmadSattout97
@AhmadSattout97 Жыл бұрын
Then why even have non-lambda modifiers, if they are most of the time less performant??
@bentrengrove8024
@bentrengrove8024 Жыл бұрын
Lambda modifiers aren't always more performant, they just can be in certain situations. If you don't have frequent changing state, a standard modifier will be more performant.
@hellosagar
@hellosagar 9 ай бұрын
is interfaces are stable?
@1Ozgur
@1Ozgur Жыл бұрын
day by day, they are discovering how compose is complex and it is not easy to maintain 😂😂 thanks, but i will continue to work with activities and fragment happily 🎉
@1Ozgur
@1Ozgur Жыл бұрын
@@estebanhiguitaduarte1318 if your project is small go ahead you can play with compose, but in a big scale project, i definitely not recommend to migrate. Just example from this video they suggest to use ImmutableList instead of List. And they say it is just a fix. So, in the future they may ask you to use Immutable Int or Immutable String to just make a performance fixes 😂. In my opinion compose has a very long way to take fragment xmls places.
@re7650
@re7650 Жыл бұрын
How Google devs sleep 😴 after creating another "best practice more performance industry standard" code to remember every 6 months.
@1Ozgur
@1Ozgur Жыл бұрын
and the perfect title can be honeymoon is over let's face with realities
@serpenheir
@serpenheir Жыл бұрын
Man, stop disgracing yourself leaving these comments. Did you ever try to optimize RecyclerView with various item types? Do you think parsing XML file is a way to go to layout user interface? Do you like View's lifecycle?
@jansprlak110
@jansprlak110 Жыл бұрын
Beta tester od roku 2016 oceňujem,,
@Nick-cx4rs
@Nick-cx4rs 10 ай бұрын
TopAppBar scrollBehavior still janking so much . Like exitUntilCollapsed Behavior() - > with nested connection to lazyColumn . So much janking fix it
Building a scalable, modularized, testable app from scratch
21:31
Android Developers
Рет қаралды 156 М.
Performance best practices for Jetpack Compose
21:17
Android Developers
Рет қаралды 80 М.
В ДЕТСТВЕ СТРОИШЬ ДОМ ПОД СТОЛОМ
00:17
SIDELNIKOVVV
Рет қаралды 2,2 МЛН
CAN YOU HELP ME? (ROAD TO 100 MLN!) #shorts
00:26
PANDA BOI
Рет қаралды 36 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 146 МЛН
Making apps blazing fast with Baseline Profiles
19:56
Android Developers
Рет қаралды 19 М.
Performance Optimization with @Stable and @Immutable in Jetpack Compose
16:47
Advanced state and side effects in Jetpack Compose
41:21
Android Developers
Рет қаралды 31 М.
Custom layouts and graphics in Compose
20:25
Android Developers
Рет қаралды 48 М.
Basic layouts in Compose
1:01:41
Android Developers
Рет қаралды 57 М.
Type-Safe Navigation with the OFFICIAL Compose Navigation Library
10:03
MVVM vs. MVI - Understand the Difference Once and for All
18:40
Philipp Lackner
Рет қаралды 28 М.
Inspecting Performance - MAD Skills
16:01
Android Developers
Рет қаралды 19 М.
Где раздвижные смартфоны ?
0:49
Не шарю!
Рет қаралды 485 М.
iphone fold ? #spongebob #spongebobsquarepants
0:15
Si pamer 😏
Рет қаралды 785 М.
Xiaomi Note 13 Pro по безумной цене в России
0:43
Простые Технологии
Рет қаралды 2 МЛН
#miniphone
0:18
Miniphone
Рет қаралды 12 МЛН