Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Help finding memory leaks (general tips)

This is on iOS, device is iPad.

Here's what happens:

  1. I run app on device or debug and run using Xcode.
  2. After 5 minutes I receive a memory warning of level 1.
  3. A minute later I receive a memory warning of level 2.
  4. Another minute later, Program received signal: “0”.

I checked for leaks using Leaks in Instruments and detected no leaks. However, according to Activity Monitor, my app initially uses 30 MB, and grows in size to over 100mb over time (about 200kb per second!). So, apparently Leaks doesn't detect all memory leaks.

So my question: if Leaks can't detect it, are there any general tips to finding them, and is there a better tool to find these leaks?

like image 344
Morrowless Avatar asked Mar 06 '26 04:03

Morrowless


1 Answers

This is how I would approach it,

  1. Name all you classes with a prefix so you can easily see them in Instruments

  2. XCode->Run->Run with performance tool->allocations

Now stop your app and type the name of class you suspect is leaking in the search box. (this is where the prefix is handy). The start instruments again with the "Record" button

  1. The living column should go up and down as you allocate objects. Note if it doesn't go down you have a leak.
like image 146
railwayparade Avatar answered Mar 07 '26 18:03

railwayparade



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!