Komentáře •

  • @unknownBoy85lover
    @unknownBoy85lover Před 6 měsíci +13

    I just wanted to thank you for all the help and support yo you've done for me by sharing your experiences ❤

  • @giovanileitevitor
    @giovanileitevitor Před 6 měsíci +1

    Fantastic… i never heard about this annotation for data class. Thanks to share that .

  • @5Aerim
    @5Aerim Před měsícem

    The last tip is awesome, thanks!!!

  • @PS3HDTests
    @PS3HDTests Před 6 měsíci

    I'll apply this after holidays, thanks a lot 👌

  • @shahnizarbaloch
    @shahnizarbaloch Před 6 měsíci

    Was Waiting for this ❤️

  • @wawrzyn3059
    @wawrzyn3059 Před 6 měsíci +1

    Hi, great video, thanks for pro tips. Could you explain how did you solve the problem with nods in layout inspector? I'm struggling with it very often..

  • @clamum9648
    @clamum9648 Před 6 měsíci

    Good stuff bruther.
    So I'm assuming my class could still be marked Immutable if it doesn't get its properties directly updated anywhere, but those underlying properties might be updated from the database? Like my list is a list of items that can be edited/updated in another screen, but the properties aren't directly updated anywhere in the list screen. If that makes sense.

  • @_zantetsuken_
    @_zantetsuken_ Před 6 měsíci

    My LazyList with Cards (Checkbox + Labels) got recomposed whenever a new Card got added, despite that the Array is immutable and never changes. The initial buildup of the screen really took some time but with your steps it solved the issues. Ty!

  • @pgnrr
    @pgnrr Před 6 měsíci +2

    This is what i needed

  • @hotcoding482
    @hotcoding482 Před 6 měsíci

    @Philipp can you suggest me what is best way to use multiple state in composable screen.

  • @tomasglazr2466
    @tomasglazr2466 Před 4 měsíci +1

    In the third example would the solution also be to make the collection as immutable list? Then the data class wouldn't contain any mutable properties and shouldn't be marked as unstable right?

  • @uop6238
    @uop6238 Před 6 měsíci

    if images count changed from repository but uuids are generated in subsequent sessions, the uuids will changed for same data all the time. Is there some problem for lazy column animation?

  • @everythingjdm8057
    @everythingjdm8057 Před 4 měsíci

    thank you man your the best

  • @clementjoymasinamela4244
    @clementjoymasinamela4244 Před 6 měsíci

    Informative video, thanks. Can you please do a tutorial on video compression.

  • @MrBzik1111
    @MrBzik1111 Před 6 měsíci +6

    Great video, thanks, Philipp. Is it also reasonable to add baseline profile for lazy column scrolling? I usually encounter lags on first few scrolls

  • @skandarsouissi7282
    @skandarsouissi7282 Před 2 měsíci

    great man, great man ❤

  • @comicsans1230
    @comicsans1230 Před 6 měsíci +2

    Thanks. Really appreciate your videos

  • @rogeralien
    @rogeralien Před 6 měsíci +1

    I love this guy, since he is saying "those images are from the real camera" 😅

  • @bhabhayt398
    @bhabhayt398 Před 6 měsíci

    Can you make video on zoom custom ui, does it have any resources?

  • @livingstonantony4135
    @livingstonantony4135 Před 6 měsíci +1

    Just a query:
    How about ImmutableList instead of @immutable ?

  • @deepeshkumar1704
    @deepeshkumar1704 Před 4 měsíci

    what is the alternative of actionMode and menuInflater in jetpack compose?

  • @areebahmad7935
    @areebahmad7935 Před 6 měsíci

    For backend which lang do you use .And when are going to teach us from scratch ?

  • @ALEX54402
    @ALEX54402 Před 6 měsíci

    Thanks

  • @ubersticks
    @ubersticks Před 6 měsíci +2

    Isn't there a way to declare the tags as an Immutable List of Strings in the MyImage data class? If possible, then that seems much more intuitive.

    • @9Blurke9
      @9Blurke9 Před 6 měsíci

      I use the official kotlix.collections.immutable library

  • @Mr.E.C
    @Mr.E.C Před 6 měsíci +1

    Super video. However, if I have understood you correctly, @Immutable and @Stable cannot be applied to constantly changing lists. For example, if you load the data with a pager, can you only show a loading animation or is there also a way to improve performance and only recompose the newly loaded data and not the existing data in a lazy column?

    • @ggstb
      @ggstb Před 6 měsíci +3

      Just make sure all the items in data class have val so when you are updating data you have to use copy function and you will be good to go and will be able to use Immutable and Stable without worries

    • @Mr.E.C
      @Mr.E.C Před 6 měsíci

      @@ggstbthat’s my way to go but if I have an list inside of an data class, I‘m running into an recompose and this is also an problem if I'm using the Paging 3.0 Library.

  • @Efryed
    @Efryed Před měsícem

    When I debug the app using an emulator the app runs perfect, but if I debug it on my cell phone the app has a lot of lag. When I searched the internet, I found that changing the Build Variant from debug to release fixes it and it really works. Do you know why this could happen?

  • @gamerscell9975
    @gamerscell9975 Před 2 měsíci

    My buddy is life saviour

  • @andrewstelmakh8270
    @andrewstelmakh8270 Před 6 měsíci +2

    Thanks for the video! Another option for making the MyImage class stable is to replace the List type with a Kotlin immutable collection type, such as ImmutableList.

  • @kristianivanov36
    @kristianivanov36 Před 6 měsíci +25

    Have you ever run into the issue that the Run button in Android Studio loads an old version of the app onto the emulator? Sometimes after I change code, and click Run app, it loads a version with old code, before I made the changes, or EVEN earlier, before a lot more changes were made. Any way to fix this?

    • @DenzilFerreira
      @DenzilFerreira Před 6 měsíci +2

      Edit configuration of the run config, clean build

    • @szymonkurpas1172
      @szymonkurpas1172 Před 6 měsíci +2

      I encountered something similar to what you have described. Whenever I cleared the app's cache then the app was reset to the oldest version. Still remember being confused in front of the client as the feature that was working suddenly didn't. I turned out it was what I have mentioned.

    • @abv99997
      @abv99997 Před 6 měsíci +3

      I think it has happened to me a couple of times. I simply rerun it and it loads the new code

    • @chicongvu8062
      @chicongvu8062 Před 6 měsíci

      ​@@szymonkurpas1172omg yes. And then I went to issuetracker to find the same issue and didn't find any ticket mentions about it

    • @mxkmn
      @mxkmn Před 6 měsíci

      Never got this 🤔

  • @christophernanju8849
    @christophernanju8849 Před 6 měsíci

    What about adding a rememberLazyListState to the state field of the LazyColumn?
    I didn't see you do that

    • @abdelrahmankhaled7575
      @abdelrahmankhaled7575 Před 4 měsíci

      it`s not needed here ( in terms of optimiztion) , it will be needed on customizng the scroll behaivor or get info about your scrolling behavior

  • @mubashirpa
    @mubashirpa Před 6 měsíci

  • @rogeralien
    @rogeralien Před 6 měsíci

    isn't data class by default meant to be immutable?

    • @raheemadamboev
      @raheemadamboev Před 5 měsíci +1

      only when all the objects in it is stable. Since regular List is not stable, it is not marked as stable

    • @rogeralien
      @rogeralien Před 5 měsíci

      @@raheemadamboev thank you! Probably I don't use that many data classes with lists.

  • @olegleonov1310
    @olegleonov1310 Před 6 měsíci +1

    Why you don't use all the `MyImage` data class as a key?

    • @iZakirSheikh
      @iZakirSheikh Před 6 měsíci +2

      That is because keys need tobe parcelable.

    • @olegleonov1310
      @olegleonov1310 Před 6 měsíci

      ​@@iZakirSheikhhashCode() is pretty parcelable 😊

  • @user-fr4jz9eg9t
    @user-fr4jz9eg9t Před 6 měsíci +1

    단순히 텍스트만 있어도 레이지 컬럼은 성능이 좋지 않음.

  • @user-fy3bl4dx9v
    @user-fy3bl4dx9v Před 6 měsíci

    still am facing lazy column lag...
    class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
    ContactTheme {
    Surface(
    modifier = Modifier.fillMaxSize(),
    color = MaterialTheme.colorScheme.inverseSurface
    ) {
    LazyItem()
    }
    }
    }
    }
    }
    @Immutable
    data class User(
    val name: String,
    val id: String = UUID.randomUUID().toString()
    )
    @Composable
    fun LazyItem() {
    val item = (1..100).map {
    User(name = "Random name $it")
    }
    LazyColumn(
    verticalArrangement = Arrangement.spacedBy(4.dp),
    contentPadding = PaddingValues(6.dp)
    ) {
    items(item,
    key = {
    it.id
    }) {
    com.example.contact.ui.presentance.screen.CardContact(name = it.name)
    }
    }
    }

  • @ovedgustavorinconmachado506
    @ovedgustavorinconmachado506 Před 6 měsíci

    I am learning English but, do you have videos in Spanish? XD

  • @leonidas_30052
    @leonidas_30052 Před 6 měsíci

    The documentation tells us to strive to keep our class stable without using these annotations.

  • @maximkarassev1016
    @maximkarassev1016 Před 2 měsíci

    Please slow down Philipp you speak so fast😅

  • @imlassuom
    @imlassuom Před měsícem

    Android studio is so slow!! ...