Here's the ULTIMATE tip to find memory leaks in Xcode!

  Рет қаралды 14,052

Vincent Pradeilles

Vincent Pradeilles

Күн бұрын

#iOS #swift #softwaredeveloper #iosdeveloper
Thank you for watching this video 🙌
➜ Leave a tip: www.buymeacoff...
➜ Website: www.swiftwithv...
➜ Twitter: / v_pradeilles
➜ GitHub: github.com/vin...
➜ LinkedIn: / vincentpradeilles

Пікірлер: 33
@v_pradeilles
@v_pradeilles 2 жыл бұрын
Did you find this tip useful? Are you already using it in your apps? Let me know in the comments 🚀
@poluxsaurus1454
@poluxsaurus1454 2 жыл бұрын
Yup it's useful. What I do to look for memory leaks is, instead of launching Instruments, I pause the app with the memory debugger and look at the number of instances for each class, not just the view controllers. It's easy to spot when there are more than expected. Sometimes the expectation may be wrong and there is a good reason for some instances to be alive, so it also helps me understand what the app does in case I've forgotten of some design decision.
@jack666hack
@jack666hack 2 жыл бұрын
This could work for a small app but big ass app is a headache
@mistymu8154
@mistymu8154 2 жыл бұрын
I always put a log statement in the deinit of all my ViewControllers and ViewModels and any other classes that shouldn't be hanging around. For example, there is one scenario for an app I work in that pushes about 5 screens deep and then on the final screen there is a button to pop to root, so I check that I see logs for the deinit of all 5 of those screens and corresponding view models. It would be difficult to listen out for 10 different bloops and find the offending class if there was less than 10 bloops lol.
@michaelbrown
@michaelbrown 2 жыл бұрын
Similarly I usually will have base classes (BaseViewController that contains common items) and will have dealloc (objc) or deinit (swift) methods and just wrap a print statement saying self.description + “ deallocated” in an if debug check. It helps if you’re a breakpoint hoarder like myself. 😂
@shalinibhat2339
@shalinibhat2339 2 жыл бұрын
Thank you for this amazing video
@natgenesis5038
@natgenesis5038 2 ай бұрын
Thanks so much
@vaibhavbansod3528
@vaibhavbansod3528 5 ай бұрын
There would be dancing music if we put symbolic breakpoint in a call where multiple instances are created and only few of them are released
@mykytakhlamov
@mykytakhlamov Жыл бұрын
another interesting feature I learned from you, thanks💥
@bravehearted1010
@bravehearted1010 Жыл бұрын
Very useful tip. Thanks a lot!
@jack666hack
@jack666hack 2 жыл бұрын
Love the tutorials buddy 🔥
@byaruhaf
@byaruhaf 2 жыл бұрын
Thanks, i use this breakpoint as well except instead of sound I use the action log message to consol with "--- dealloc @(id)[$arg1 description]@ @(id)[$arg1 title]@"
@richardrubin2192
@richardrubin2192 Жыл бұрын
Merci, Vincent! Great tip!
@shilpagade1913
@shilpagade1913 2 жыл бұрын
In very big code how we identify which object is cause of memory leak. Is thr any way to find it?
@rasheshbosamiya1482
@rasheshbosamiya1482 2 жыл бұрын
what about Model & ViewModel classes? can we monitor dealloc for those custom classes?
@rasheshbosamiya1482
@rasheshbosamiya1482 2 жыл бұрын
@hydro1337x thank you for reply, I have tested and it works with custom classes (e.g. Model, ViewModel etc)
@alexcupra9682
@alexcupra9682 2 жыл бұрын
Amazing trick! Thanks :)
@Jaroshevskii
@Jaroshevskii Жыл бұрын
You amazing, thanks very much ☺️
@Mani-xx4fz
@Mani-xx4fz 2 жыл бұрын
Nice trick! Thx 👌
@mohammadmnasrabadi6837
@mohammadmnasrabadi6837 2 жыл бұрын
This is not my choice. Because the problem is with all the references and you only understand the controls. Of course, the sound is not good and can be printed with the following code, which shows its efficiency in deleting several pages at the same time. . in symbol : use the action log message to consol with "--- dealloc @(id)[$arg1 description]@ @(id)[$arg1 title]@"
@alexandergavrilov8019
@alexandergavrilov8019 2 жыл бұрын
great!
@rahuljamba5846
@rahuljamba5846 Жыл бұрын
Great man
@AnLaXGaminG
@AnLaXGaminG 2 жыл бұрын
Why that clousure make a memory leak? I know that there is no weak self but I dont get the point why that happens :( thanks
@addisonfrancisco9007
@addisonfrancisco9007 2 жыл бұрын
The closure is causing an increase to the reference count because it is capturing self. So, ARC is not going to clean up that view controller during dealloc because the ref count is greater than 0. You can read more about it here under “Strong Reference Cycles for Closures” docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html
@abymathew575
@abymathew575 2 жыл бұрын
kzbin.info/www/bejne/fXrcXqSkfLGjfrc I think this video will give your more details about it. Please check this
@marekszymanski2375
@marekszymanski2375 2 жыл бұрын
This trick always amazes me, great video! Is it possible to do something similar for SwiftUI? I guess everything is a View so it might be hard (and loud 😂)
@mistymu8154
@mistymu8154 2 жыл бұрын
SwiftUI views are structs so they won't have a retain cycle. You should keep an eye on view models though.
@user-jl8xe2df4d
@user-jl8xe2df4d Жыл бұрын
Just like in WWDC
@followerOfJesus723
@followerOfJesus723 Жыл бұрын
This is so not working.
@KarenJohnson-m8o
@KarenJohnson-m8o 8 күн бұрын
Taylor Eric Hall Amy Jones Paul
@rickywitherspoon2861
@rickywitherspoon2861 2 жыл бұрын
🤯
@alexeykhomych1743
@alexeykhomych1743 2 жыл бұрын
it's waste of time for 2 reasons: too hard to understand and it doesn't always work well.
@kolboch
@kolboch 2 жыл бұрын
?
How to override UserDefaults with launch arguments!
6:48
Vincent Pradeilles
Рет қаралды 1,1 М.
Memory Leaks in iOS: Find, Diagnose, & Fix (2022)
12:44
iOS Academy
Рет қаралды 49 М.
Bend The Impossible Bar Win $1,000
00:57
Stokes Twins
Рет қаралды 44 МЛН
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 22 МЛН
When do we REALLY need to use [weak self]? 🤔
7:30
Vincent Pradeilles
Рет қаралды 8 М.
Debugging Swift Memory Issues with Xcode and Profiler
25:31
Make School
Рет қаралды 25 М.
Apple Debugging L9 - Instruments Time Profiler
26:54
AppleProgramming
Рет қаралды 16 М.
Memory 2 - Finding and Fixing Memory Leaks (iOS, Xcode 9, Swift 4)
34:31
How to spot and fix memory leak, retain cycle and erratic crashes
25:14
Weak and Unowned Self Closure Memory Leak Fixes
12:21
Lets Build That App
Рет қаралды 56 М.
The iPhone 16 Is The Worst iPhone Ever Made
12:12
Moon Tech
Рет қаралды 8 М.
Debugging memory leaks - HTTP 203
22:04
Chrome for Developers
Рет қаралды 46 М.
Bend The Impossible Bar Win $1,000
00:57
Stokes Twins
Рет қаралды 44 МЛН