I Bet You DON'T Know These 3 Performance Optimizations for your Jetpack Compose UI

Поділитися
Вставка
  • Опубліковано 16 жов 2024

КОМЕНТАРІ • 58

  • @maximooze3196
    @maximooze3196 Рік тому +9

    All the things that were used to be ignored in View framework using Kotlin are now starting to become integral part of EVERY steps in compose world, even the simplest thing like inlining function will save you tons of headaches in compose which arent that significant in the View Framework before

  • @vilmarcabanero2500
    @vilmarcabanero2500 Рік тому +14

    You're amazing Philipp! I'm at the last 4 chapters of the book I'm reading. About Jetpack and clean architecture using MVVM. What you're teaching is the same to what I'm reading! Just amazing!

    • @PhilippLackner
      @PhilippLackner  Рік тому +2

      Happy to help!

    • @jarkow
      @jarkow Рік тому +4

      What is the book title?

    • @vilmarcabanero2500
      @vilmarcabanero2500 Рік тому +12

      @@jarkow Kickstart Modern Android Development with Jetpack and Kotlin: Enhance your applications by integrating Jetpack and applying modern app architectural concepts
      Author(s): Catalin Ghita
      Publisher: Packt Publishing
      Year: 2022
      I suggest you read that. Easy to follow and informative.

    • @jarkow
      @jarkow Рік тому +1

      @@vilmarcabanero2500 Thanks :)

  • @yexia4129
    @yexia4129 Рік тому +4

    allright, the problem react faced, the jetpack compose are also need to face~~

  • @abada-s
    @abada-s Рік тому +1

    Key function is very helpful, thanks for this advanced video

  • @abada-s
    @abada-s Рік тому +3

    Immutable classes are not stable , what all about them is that we cannot change its properties, so when we want to have a mutable stable version of them we wrap them with State Object which is a Stable class that have one property called value

  • @rahul_spawar
    @rahul_spawar Рік тому +1

    This was amazing, please make more videos like this!!!!

  • @Rafael-hk9pg
    @Rafael-hk9pg Рік тому +2

    Great video. Wish there was an Android Studio plugin that could detect these code smells

  • @trocchiettoski
    @trocchiettoski Рік тому

    Awesome, hope in black friday to buy some course of you

  • @anvarzaripboyev5730
    @anvarzaripboyev5730 5 місяців тому

    Thanks for this very useful information. I have a problem with first on performance issue! 👍👍👍

  • @capitalwww
    @capitalwww Рік тому

    this video was awesome
    well done Philipp

  • @LightBueno
    @LightBueno Рік тому +1

    Just finished your Jetpack Compose playlist. Very well explained and thanks for sharing.

  • @makzimalist
    @makzimalist Рік тому

    Wow Philipp, amazing video.. i have to open a refactoring ticket now :D

  • @meitarturgeman1559
    @meitarturgeman1559 Рік тому

    You are the best, keep up the work!

  • @moldovanpeter5123
    @moldovanpeter5123 Рік тому +1

    I think my comment was deleted by the Security or Chat/Spam Bot w/e, I will rephrase it differently, this is a very good topic that was also presented a couple of weeks ago at an android conference that I also attended. Speakers were UI devs from a very well-known "Big Tech Company" which was bought by Elon M. recently :)

  • @agungwatanabe318
    @agungwatanabe318 Рік тому

    9:28 you can put the remember inside the parameter directly instead, it will work

  • @leandropnto
    @leandropnto Рік тому +4

    Please, more KMM videos! 👍

    • @anonymoususer8849
      @anonymoususer8849 Рік тому

      He have KMM course so I doubt that he will make more videos about that until his course reach specific sales goal

  • @alirezafaraji
    @alirezafaraji 9 місяців тому

    this helped me A LOT. ty

  • @renanzumas4422
    @renanzumas4422 Рік тому +1

    Hello Phillipp, how do you see the market for Jetpack Compose?. I'm thinking of starting to learn it.

  • @SreejiM
    @SreejiM Рік тому

    Thank you very very much for such a USEFUL & CONCEPTUAL VIDEO 🙏🙏🙏

  • @manusarangal449
    @manusarangal449 8 місяців тому

    Thank you Philipp!

  • @BashPSK
    @BashPSK Рік тому +1

    Can I use Android library on desktop compose??

  • @maximooze3196
    @maximooze3196 Рік тому

    BTW, thank you again @Philipp.

  • @khaledalibibooo7572
    @khaledalibibooo7572 Рік тому

    Your efforts are great ❤❤

  • @shahar19971
    @shahar19971 Рік тому

    If we are already discussing improvements, an Idea for a new video, replace try catch with Arrow (Either)

  • @rahul_spawar
    @rahul_spawar Рік тому

    We only need to create mapper classes if we're doing cross-module communication right? Also any way of detecting that as well?

  • @federicocreti4699
    @federicocreti4699 Рік тому

    I have a screen where is loaded (using an AsyncImage) a background image. The image is a local image loaded from the resources. Why does everytime recomposed the Image even if it is always the same image?

  • @maximooze3196
    @maximooze3196 Рік тому

    @Philipp, just want to share about movableContent, seems like it will also a good thing to learn for compose performance

  • @gori_maheswari8994
    @gori_maheswari8994 Рік тому

    Thank you so much❤

  • @yehor_zhyr
    @yehor_zhyr Рік тому

    Thank you!

  • @ilaletopisnyj
    @ilaletopisnyj Рік тому

    What's the reason for method reference to be stable even if the class it belongs to is unstable?

  • @ilaletopisnyj
    @ilaletopisnyj Рік тому

    I wonder what is scope where key can be applied to skip reordering recomposition. I alway thought it only will work if used in the same 'call site'. But here you used it even across different layouts. I guess Row, Column and Box are inline for this to work, but I'm not entirely sure

  • @dmytroberezhnyi717
    @dmytroberezhnyi717 Рік тому

    Wow, it was amazing

  • @mustafaammar551
    @mustafaammar551 Рік тому

    You are the best
    Thank you

  • @mikemikee7797
    @mikemikee7797 Рік тому

    You posted some kmm videos so I assume you know ios to some extent, maybe you could make a ios for android devs crash course :D

  • @galihgaharditama7432
    @galihgaharditama7432 Рік тому +1

    Mantaaapp !!

  • @dhruvguru4506
    @dhruvguru4506 Рік тому

    bro you can fetch all pdf files in recyclerview using media store please please create a video on that soon please

  • @mkjvd
    @mkjvd Рік тому +1

    Awesome

  • @HimanshuKhanna-f7z
    @HimanshuKhanna-f7z Рік тому

    at 6:38 button recomposed 18 times , does anyone knows why?

  • @pumaelgatosiberian5047
    @pumaelgatosiberian5047 Рік тому

    Hello, which emulator you use?

    • @ChrisAthanas
      @ChrisAthanas Рік тому

      He's using Vysor to stream the screen from a hardware phone. Latest versions of Android studio do this now built-in to the IDE starting with AS Electric Eel.

  • @kasrafallen
    @kasrafallen Рік тому

    Does anyone knows that is there any issue to use @composable inside a class?

    • @PhilippLackner
      @PhilippLackner  Рік тому

      No issues, but I also don't see a reason to do that

    • @kasrafallen
      @kasrafallen Рік тому

      @@PhilippLackner thank you philipp, my reason to use it that way is to make sure view structures implemented from a same interface

  • @sergeyarnold3257
    @sergeyarnold3257 Рік тому

    Solitions for problem #2 are kinda meh, now imagine u have to create the whole bunch of useless domain data classes together with converter methods and u keep it grow for, lets say 1-2 years. All you do is stacking up the pile of technical depth, unless the project has some real need for these module/domain specific class defitions. Another option would be to mark your data-classes (if they belong to you, and you can suplement your module with dependencies) with @Stable (or @Immutable). That should do the trick, just make sure, you understand, what u are doing.

    • @PhilippLackner
      @PhilippLackner  Рік тому +1

      To mark them as immutable or stable would require adding compose to the module though and then it's not a problem anymore 😅

  • @bipinbharti6540
    @bipinbharti6540 Рік тому

    Please create one more tutorial with firebase

  • @rajushingadiya2860
    @rajushingadiya2860 10 місяців тому

    amazing

  • @maximooze3196
    @maximooze3196 Рік тому +1

    👍🏻

  • @jopadjr
    @jopadjr Рік тому

    209th...Thanks Philipp

  • @jianastrero
    @jianastrero Рік тому

    I already know all of this optimizations, thumbs down coz u said "I Bet You DON'T Know These 3 Performance Optimizations for your Jetpack Compose UI"