IOS - я получаю предупреждения о памяти, но понятия не имею, почему

Я разрабатываю iOS и проверяю свое приложение с помощью IPhone и IPad.

Я получаю много предупреждений о памяти (вызывается didReceiveMemoryWarning), но понятия не имею, почему. Мое приложение использует ~ 35 МБ в пиковых точках и 4-5 МБ, когда это самая низкая точка.

Я пытался найти утечки с помощью "инструментов", но не мог найти критических проблем.

Есть ли хороший способ узнать, почему система отправляет предупреждения о памяти?

Ответ 1

Предупреждение о наличии памяти ожидается в приложении iOS. Это не должно быть из-за вашего приложения. Другие приложения по-прежнему находятся в памяти, даже если приложения приостановлены. ОС будет осуществлять управление памятью, отправив предупреждение о необходимости памяти и при необходимости уничтожить приложения. До тех пор, пока вы используете разумный объем памяти (с небольшим отсутствием утечки памяти) и правильно справитесь с didReceiveMemoryWarning, все будет в порядке.

Кроме того, когда ваше приложение находится в режиме ожидания, если ваше приложение использует небольшой объем памяти, ваше приложение, скорее всего, выживет в процессе убийства. Поскольку приложение с большим объемом памяти будет прервано первым.

Ответ 2

Я также обнаружил, что "Product → Analyze" (Shift + Command + B) может помочь вам разобраться с некоторыми проблемами с кодом, прежде чем вы начнете использовать утечки. С введением ARC это стало менее полезным, хотя.