Finding Your App’s Largest Memory Allocations


When you profile your app with the Allocations instrument, you may want to find the largest memory allocations your app makes. Take the following steps to find the largest memory allocations:

  1. Press Cmd-3 to open the allocations list.
  2. Click the Size column heading to sort the allocations by size.
  3. Choose All Heap Allocations from the Allocation Type menu in the bottom bar to hide virtual memory allocations. Your code doesn’t directly make virtual memory allocations.

The Allocation Type menu is the rightmost menu in the following image:

The extended detail view shows the call stack. Clicking the button at the top right of the call stack list hides system libraries to help find your code in the call stack.

Double-click a function from the call stack to see the lines of code that allocated memory. Make sure you double-click a function you wrote or else you'll see assembly language functions instead of source code.

Swift Dev Journal

Subscribe and get exclusive articles on Swift development, a free guide on moving from tutorials to making your first app, notices of sales on books, and anything I decide to add in the future.

Read more from Swift Dev Journal
Swift logo

Swift Concurrency Learning Resources One of the biggest pain points experienced Swift developers have is dealing with Swift concurrency, especially the changes in Swift 6. Many developers are sticking with Swift 5 to avoid the pain of migrating their code to Swift 6. If you are having trouble learning about Swift concurrency, I put together a list of resources that should help. F**king Approachable Swift Concurrency F**king Approachable Swift Concurrency is a good starting point to learn...

Find the Code Causing Long SwiftUI Updates with Instruments Instruments comes with a SwiftUI instrument to find performance problems in your SwiftUI apps. This article shows how to use Instruments to find the code that causes long SwiftUI view updates. If you have never used Instruments, read the following article to learn how to profile your app with the SwiftUI instrument: Find the SwiftUI Views that Update the Most Using Instruments Finding Long Updates When you finish profiling your app,...

A common problem people run into when they start profiling their apps with Instruments is finding the code that is causing problems. Many instruments initially show general statistics instead of statistics about the code you wrote. For example the Allocations instrument initially shows the number of memory allocations and amount of allocated memory for hundreds of memory categories. If your app allocates a lot of memory, you want to find the code that allocates high amounts of memory. How do...