Fix a memory leak in Flutter (

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

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

  • @aytunch
    @aytunch 7 месяцев назад +10

    Perfect real time contribution from investigation to PR. You deserve to be sponsored by many more of us!

  • @patrickwitter4437
    @patrickwitter4437 7 месяцев назад +7

    This is insane ! How have I not heard about this channel before. Keep it up

  • @abdullahalamodi5455
    @abdullahalamodi5455 7 месяцев назад +4

    this is really next level of tutorials, keep it up, thank you .

  • @schachspieler3254
    @schachspieler3254 11 часов назад

    God level flutter tutorial.

  • @mohamed-fatta
    @mohamed-fatta 6 месяцев назад +1

    I don't even code in Flutter but i love your explanation of the Bug and the critical thinking, thank you

  • @abdushakoor0099
    @abdushakoor0099 7 месяцев назад +11

    This was so cool to watch.

  • @AkashSingh-cr7ly
    @AkashSingh-cr7ly 7 месяцев назад +4

    That's awesome work you are doing, lots of learning here, keep it up.

  • @Elguri-yk7rb
    @Elguri-yk7rb 7 месяцев назад +7

    I want to see more of this kind of educational videos

  • @momshaddinury
    @momshaddinury 6 месяцев назад

    This is the kind of video a lot of us need right now. Please keep this up. I am going to share this with my community.

    • @FlutterBountyHunters
      @FlutterBountyHunters  6 месяцев назад

      Would love to do more. I'm currently waiting for 3 more people (20) to sponsor me monthly on GitHub. That's when I'll fix the next bug.

    • @momshaddinury
      @momshaddinury 6 месяцев назад

      @@FlutterBountyHunters Would you kind enough address the fix for the following error?
      Target of URI doesn't exist: 'package:process_runner/process_runner.dart'.
      Try creating the file referenced by the URI, or try using a URI for a file that does exist.

    • @momshaddinury
      @momshaddinury 6 месяцев назад

      Never mind, I just realised that test_private is another mini flutter project that has its own dependencies. I just ran pub get inside of it, now it's fixed.

  • @nemrdev
    @nemrdev 6 месяцев назад

    This is what I call an awesome precise and organized work, keep it up🔥, to be noted, I understand that we sometimes get mad at others mistakes but always remember we’re all humans

  • @mattlampe
    @mattlampe 7 месяцев назад

    This was very cool to watch, I've made some contributions to packages I've changed/fixed before and that always feels really cool, but this made fixing something in the flutter framework feel more approachable as it always seemed so daunting before. Thanks for making this video!

  • @msiprime
    @msiprime 4 месяца назад +1

    Love your vids. I am new here. Hoping to learn a lot that is happening on background

  • @verticrow
    @verticrow 7 месяцев назад +1

    Really awesome to see the whole process! Thanks for all that you do.

  • @seriouslyiknowhowtoread
    @seriouslyiknowhowtoread 6 месяцев назад

    Dude, straight up I will be becoming a sponsor as soon as my project gets ready for Flutter development ( 2 months )

  • @mkc11267
    @mkc11267 7 месяцев назад

    Learned a lot! I hope I which I could sponsor you but I currently have no work lol. But please continue publishing videos including in your other channel. Your contents are literally diamonds in flutter community.

  • @theGoldyMan
    @theGoldyMan 7 месяцев назад

    I felt like Mr Carroll was at the bring of saying some slurs. I was at least. That was a good experience watching this process. Decoding the source of some part of flutter is just madness, I feel we are missing a huge chunk of information about the context in which this feature was developed. Wasn't there a design doc? You have my respect since the times before you deleted your flutter challenges, I miss them so much. Keep up the good work. Thanks a lot for this video.

  • @NoName-rp6cx
    @NoName-rp6cx 6 месяцев назад

    Very informative, thank you!

  • @mboyamichael7618
    @mboyamichael7618 7 месяцев назад +4

    Great Work!

  • @yurtemre7
    @yurtemre7 6 месяцев назад

    Such a great video! ありがとうございます

  • @zawhtetnaing5035
    @zawhtetnaing5035 7 месяцев назад +1

    Awsome video. Learned a lot from this. Will you be doing Live Streams in the future?

  • @aliounesakho8582
    @aliounesakho8582 6 месяцев назад

    hi i'm new here and i wanna say i dont regret at all the time i spend here. it was an absolute pleasure to watch. +1 sub +1 like

  • @oleh6836
    @oleh6836 5 месяцев назад

    Every few minutes of the video I wanted to say, "Hey, hey, I know the answer to your question."

  • @DominikRoszkowski
    @DominikRoszkowski 7 месяцев назад

    That's been a cool journey :)

  • @brethagen7776
    @brethagen7776 6 месяцев назад

    I love that you fully setup your tests and didn't use global objects. It's really great to not abuse DRY in tests so the SETUP of the test is very explicit on the requirements. A little "setup" method is fine here or there. But these end up getting reused over and over where not all of the setup is really needed and tests are bloated.

    • @FlutterBountyHunters
      @FlutterBountyHunters  6 месяцев назад

      Definitely. Centralization, including re-use of globals, is a (possible) performance improvement, and a (possible) typing reduction, at the cost of organizational communication. In most cases, communication between programmers is harder to maintain than performance and speed of typing.

  • @iamvalenci4
    @iamvalenci4 6 месяцев назад

    beautiful, really next level

  • @philcazella7521
    @philcazella7521 6 месяцев назад

    So I searched the flutter Issues like with the following "is:open label:P3 memory leak " and second on that list #144871 - [Android] focus_manager _TypeError Null check operator used on a null value
    What are the chances that iOS specific conditional you found at time 33:05 in this video is the cause?
    (comment edited because the referenced timestamp was incorrect)

    • @FlutterBountyHunters
      @FlutterBountyHunters  6 месяцев назад

      The timestamp you linked to is at the end of the video.

    • @philcazella7521
      @philcazella7521 6 месяцев назад

      @@FlutterBountyHunters Opps, my bad.... try 33:05 (it was the part where you were laughing about (defaultTargetPlatform != TargetPlatform.iOS) { )

  • @tomjerry5772
    @tomjerry5772 6 месяцев назад

    bro i heard it today.. damn yoo. keep it

  • @maurice9826
    @maurice9826 6 месяцев назад

    could you record a video showing the settings of your IDE?
    i would like to leave vscode, intelijj seems to be better for working with android and java

  • @ferdynandkiepski5026
    @ferdynandkiepski5026 6 месяцев назад

    You have auto in C++, but many codebases forbid it. The same with the lint to specify the type. LLVM style makes the most sense to me, with allowing auto when it improves readability. Do you think that devs don't think as much about the lifetimes of objects and freeing them at the end of it, in a GC language like Dart? Also how is the performance of Dart compared to Go? Regarding the UX of observatory, even though I have never touched it, it is way easier to pick up than a cli debugger like gdb or lldb. Just by looking at it for a bit it made sense.

    • @FlutterBountyHunters
      @FlutterBountyHunters  6 месяцев назад

      I'm not familiar with Dart or Go's performance characteristics. The UX for observatory is certainly preferable to a CLI system. But it could also certainly be a lot better - especially for people like me who aren't familiar with standard visualizations of memory usage and other performance analytics.

  • @maherov1930
    @maherov1930 7 месяцев назад +1

    I don't believe that you need to remove the history of undo redo if the widget lost focus
    , but only if it is disposed.....if we write in text field some texts and then jumped to another one, in your case we can not redo anything right?
    I hope you got my points cuz English is my second language

    • @FlutterBountyHunters
      @FlutterBountyHunters  7 месяцев назад

      That point relates more to Flutter's undo/redo feature, rather than this bug fix. Regardless of how undo/redo works across multiple focus nodes, there was a memory leak that needed to be fixed.

  • @ShawnBlais
    @ShawnBlais 7 месяцев назад +1

    Seems like you just didn't register that value is a `ValueNotifier` and it's updated in `onTriggered`. So it's totally expected that you couldn't find anywhere where it updates the value internally. By design it defers to `onTriggered` to set the value, and the widget uses `notifier.addListener` to act on those changes.

  • @BrendansReasons
    @BrendansReasons 6 месяцев назад

    Who is this, there're no sunglasses

  • @이승현-c2r
    @이승현-c2r 7 месяцев назад

    perfect video. subs!

  • @britannio
    @britannio 7 месяцев назад

    Could you use git interactive staging (git add -p) to avoid committing the formatting changes?

    • @britannio
      @britannio 7 месяцев назад

      Or just the IntelliJ git diff UI.

    • @FlutterBountyHunters
      @FlutterBountyHunters  7 месяцев назад

      Yeah both of those would probably have worked. But I never use those tools so I'd have to deal with the learning curve there first.

  • @Sukiriya422
    @Sukiriya422 7 месяцев назад +1

    Respect. 🎈🎈🎈🎈💓💓💓💓

  • @sudipraaz
    @sudipraaz 6 месяцев назад

    flutter USSD background processing plugin need for single and multi-session with dynamic sim 1 or sim 2 choosing function plugin needed. help anyone

  • @kishandhankecha
    @kishandhankecha 7 месяцев назад +2

    #136245 Could this be the second fix?

    • @FlutterBountyHunters
      @FlutterBountyHunters  7 месяцев назад

      Maybe. Navigator is a big mess. It has lots of problems and they touch a lot of places. Is this a problem that's holding you back?

  • @ulmasbekrakhmatullaev8808
    @ulmasbekrakhmatullaev8808 6 месяцев назад

    Poor P3s

  • @HenryIkoh
    @HenryIkoh 6 месяцев назад

    The camera not a big deal. The code is more important.

  • @ferekfrankburt
    @ferekfrankburt 7 месяцев назад

    Выглядит вроде как не сложно

  • @StingSting844
    @StingSting844 7 месяцев назад +1

    Good stuff🎉. I think it would be great if talking about the person who contributed to the bug was avoided. Doesn't help the content in anyway

    • @joe5head
      @joe5head 7 месяцев назад +3

      When did this happen? Unless I missed it the feeling I got was talking about the code !== Talking about the person who wrote the code. Saying why a certain line should not exist or is bad !== Saying the same about the person who wrote the line
      I think the critical parts of the video have the most potential for insight but can also see that frustrations/rants can be easily misinterpreted

    • @FlutterBountyHunters
      @FlutterBountyHunters  7 месяцев назад +2

      As you say, no names were named. Except I said that Taha and Justin are usually helpful with PR reviews.
      When it comes to the code, if we don't acknowledge problems and poor decisions then no one will ever think to change their approach. And if I don't tell the audience that something is a problem, then the audience might start contributing to Flutter and do more of it!