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
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
We believe technology should help us live well. It can and should be designed to help us be intentional, to do the things that truly matt...
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
Let the nostalgia rain over you as we take a look back and reminisce about the history of Xcode from its lowly beginnings…
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
tonyxrandall
A beginner friendly article on view identity with an intro about Swift UI in general.
New
New

Other popular topics Top

DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
New
PragmaticBookshelf
Build highly interactive applications without ever leaving Elixir, the way the experts do. Let LiveView take care of performance, scalabi...
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
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
PragmaticBookshelf
Overarching tutorial for Python beginner and intermediate developers that teaches web development with the Flask framework. Miguel Gr...
New
PragmaticBookshelf
Escape callback hell and ship fast, clean code that reads as smoothly as it runs. Squash bugs and stamp out memory leaks with an intuitiv...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New
pragdave
Build robust LLM-powered apps, chatbots, and agents while mastering AI engineering principles that will help you outlast the tools and th...
New