tonyxrandall

tonyxrandall

How to detect iOS memory leaks and retain cycles using Xcode's memory graph

At DoorDash we are consistently making an effort to increase our user experience by increasing our app’s stability. A major part of this effort is to prevent, fix and remove any retain cycles and memory leaks in our large codebase. In order to detect and fix these issues, we have found the Memory Graph Debugger to be quick and easy to use. After significantly increasing our OOM-free session rate on our Dasher iOS app, we would like to share some tips on avoiding and fixing retain cycles as well as a quick introduction using Xcode’s memory graph debugger for those who are not familiar.

Where Next?

Popular Ios topics Top

New
New
First poster: bot
A couple of weeks ago, I started working on getting Racket CS to compile and run on iOS and, with a lot of guidance from Matthew Flatt, I...
New
First poster: bot
If Apple decides to have Safari do something significant for user privacy, it will affect a significant number of people in a valuable ma...
New
First poster: bot
Many iPhone owners have iMessages from years ago that they can’t access. For example, my wife and I simply want to read the first few mes...
New
First poster: bot
In August 2020, I posted a rant on the Swift forums about the poor state of Swift documentation. Nothing came of it, but I want to reiter...
New
First poster: bot
Mastering List in SwiftUI. List is the crucial view for many apps. I can’t imagine an app that doesn’t use a list view anywhere in the v...
New
First poster: bot
I read and loved Potential’s “iOS 15, Humane” proposition. Published earlier in June by co-founders Welf and Oliver, it tackles how iOS c...
New
tonyxrandall
At DoorDash we are consistently making an effort to increase our user experience by increasing our app’s stability. A major part of this ...
New
New

Other popular topics Top

Exadra37
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it. Does your monitor have eye p...
New
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
AstonJ
Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face: https://on...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New