
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.
Popular Ios topics

Mastering UNIX pipes, Part 1.
A pipe is a first-in-first-out interprocess communication channel. The pipe version as it is known today w...
New

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

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

Apple has released a software update for AirTags following concerns they could be used to track people secretly.
AirTags were released i...
New

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

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

Amnesty International has detailed evidence showing some of the ways NSO’s Pegasus spyware tool infiltrated the iPhones of journalists an...
New

Let the nostalgia rain over you as we take a look back and reminisce about the history of Xcode from its lowly beginnings…
New

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

This guide is aimed at providing a detailed method for maximizing security and privacy on an Apple iPad (non-cellular). This guide should...
New
Other popular topics

If it’s a mechanical keyboard, which switches do you have?
Would you recommend it? Why?
What will your next keyboard be?
Pics always w...
New

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

On modern versions of macOS, you simply can’t power on your computer, launch a text editor or eBook reader, and write or read, without a ...
New

Hello content creators! Happy new year. What tech topics do you think will be the focus of 2021? My vote for one topic is ethics in tech...
New

I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New

The V Programming Language
Simple language for building maintainable programs
V is already mentioned couple of times in the forum, but I...
New

Hi folks,
I don’t know if I saw this here but, here’s a new programming language, called Roc
Reminds me a bit of Elm and thus Haskell. ...
New

The overengineered Solution to my Pigeon Problem.
TL;DR: I built a wifi-equipped water gun to shoot the pigeons on my balcony, controlle...
New

Author Spotlight:
David Bryant Copeland
@davetron5000
We’re so happy to bring you another Author Spotlight, a series where we sit dow...
New

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
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /svelte
- /typescript
- /crystal
- /c-plus-plus
- /kotlin
- /tailwind
- /gleam
- /ocaml
- /react
- /elm
- /flutter
- /vscode
- /ash
- /opensuse
- /centos
- /php
- /deepseek
- /html
- /zig
- /scala
- /textmate
- /sublime-text
- /nixos
- /debian
- /lisp
- /agda
- /react-native
- /kubuntu
- /arch-linux
- /ubuntu
- /revery
- /spring
- /manjaro
- /django
- /diversity
- /nodejs
- /lua
- /slackware
- /julia
- /c
- /neovim