Apple Debugging L9 - Instruments Time Profiler

Поделиться
HTML-код
  • Опубликовано: 28 сен 2024

Комментарии • 21

  • @srikanthgali9615
    @srikanthgali9615 4 года назад +2

    Thanks mate, The way u analysed the instruments is awsome... now profiling my projects.

  • @rios6984
    @rios6984 Год назад +1

    Very useful tutorial, thanks for you efforts!)

  • @DeniseNepraunig
    @DeniseNepraunig Год назад +2

    Super helpful and detailed tutorial - thanks a lot!! Very well presented.

  • @ideluxer
    @ideluxer 4 года назад

    360p resolution/quality :(

    • @AppleProgramming
      @AppleProgramming  4 года назад +1

      ideluxer It’ll get better. Taking forever to process.

  • @yiran432
    @yiran432 2 месяца назад

    how to draw flame graph by these data???

  • @OfficialVybsta
    @OfficialVybsta 2 года назад +1

    VERY DEEP AND THOROUGH ID LIKE TO CONVERSE WITH YOU 1 ON 1 ABOUT A MEMORY AN CPU ISSUE I AM HAVING BUT THAT MIGHT NOT BE POSSIBLE BUT STILL VERY THOROUGH

    • @AppleProgramming
      @AppleProgramming  2 года назад +1

      I wish you the best in solving your issue. I do offer 1-on-1 help through Patreon if you find you need it.

    • @OfficialVybsta
      @OfficialVybsta 2 года назад +1

      @@AppleProgramming WHAT IS YOUR INFO THERE I HAVE A PATREON AS WELL

    • @OfficialVybsta
      @OfficialVybsta 2 года назад +1

      @@AppleProgramming OK I FOUND YOU

  • @markfromberg7267
    @markfromberg7267 4 года назад +1

    I literally searched for Instruments Time Profiler videos 3 days before you posted this. This is scary. But also very welcome and awesome. Thank you so much!

    • @AppleProgramming
      @AppleProgramming  4 года назад +1

      Sure thing! Not my best video; I struggled finding an example that was simple enough. Happy to do more of these if you have better examples of slow code paths you're trying to improve. Perhaps can take from GitHub projects.

  • @ps1kx
    @ps1kx 2 года назад

    Thanks. There's not enough videos and courses on Instruments. It's like people don't care that much? But I personally have a case where I want to fix something I can't find. Let's see if I can now!

  • @appdevelopment2881
    @appdevelopment2881 3 года назад

    so glad, I found these series!
    Why is it necessary to increment the tag ?

    • @AppleProgramming
      @AppleProgramming  3 года назад +2

      Because cells can be reused. Take the case where you scroll really fast through a list. You might reuse the same cell 3 times (for example). Well that’s 3 image fetches that have gone off and will try to replace that cell with 3 different images when you really only want what should really appear in that place. There are better ways to do this that involve a better image system that allows you to cancel image operations before it tries to resize them.

    • @appdevelopment2881
      @appdevelopment2881 3 года назад +2

      ​@@AppleProgramming I stared at it a few more minutes and now I get it!
      Thanks for responding.

  • @Seieukos
    @Seieukos 2 года назад

    Sort of off topic, but can't we use the indexPath instead of tag to reference the correct cell?

    • @AppleProgramming
      @AppleProgramming  2 года назад +1

      Not sure how you would get the current index path when you receive the image. You'd have to store that index path value on the cell to check that it is still valid. Perhaps you could try querying the cell at that index path to see if it's still valid and I suppose that would work.

    • @Seieukos
      @Seieukos 2 года назад

      @@AppleProgramming Within the async task (line 65 at time 22:05), I think the indexPath is still in scope. If we capture the indexPath within the task, we should be able to unwrap the cell from self?.collectionView.cellForItem(at: indexPath), and if it exists we can update the image. I might be missing something though -- I haven't played with diffable datasources just yet

    • @AppleProgramming
      @AppleProgramming  2 года назад +1

      @@Seieukos Ya, that could work. Though I'm not sure existence necessarily guarantees that it is different. I would be tempted to say that it should work, but I haven't tried.