iOS - я получаю предупреждения о памяти, но понятия не имею, почему - PullRequest
12 голосов
/ 28 января 2012

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

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

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

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

Ответы [ 2 ]

24 голосов
/ 28 января 2012

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

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

10 голосов
/ 25 июля 2013

Я также обнаружил, что «Продукт -> Анализ» (Shift + Command + B) может помочь вам разобраться в некоторых проблемах с кодом, прежде чем вы начнете использовать утечки. С введением ARC это стало менее полезным.

...