2014-02-15 4 views
0

Я протестировал приложение на своем устройстве, используя Xcode и инструменты для мониторинга уровня процессора и памяти. Мое приложение запускает анимацию на некоторых представлениях, и я заметил, что даже после того, как вы покинули эту страницу, уровни памяти оставались высокими и строились сверху. В какой-то момент уровни памяти составляли около 90 МБ.Что такое высокая память iOS?

Это нормально?

Я проверил, что включен автоматический подсчет ссылок. Должна ли память непонятна?

Спасибо.

Это одна из анимаций, которые содержат большую часть памяти.

-(IBAction)start:(id)sender 
{ 
    animation.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"1.png"], 
            [UIImage imageNamed:@"2.png"], 
            [UIImage imageNamed:@"3.png"], 
            [UIImage imageNamed:@"4.png"], 
            [UIImage imageNamed:@"5.png"], nil]; 
    [animation setAnimationRepeatCount:0]; 
    animation.animationDuration = 2.5; 
    [animation startAnimating]; 
} 

Is '# Living' what i need to be worried about?

Это фронт он распределения и утечки инструмент. «Я живу», о чем мне нужно беспокоиться?

ответ

2

Вам необходимо отправить код. Если память не исчезает после выхода из страницы, это означает, что на нее что-то держится. 90MB может быть чуть выше - вы анимации большого, загруженного на диск изображения?

ARC не мусор - вы все равно должны быть осторожны, о том, что вы держите на

+0

с изображениями или анимацией, предполагающие вам необходимо предоставить информацию, как это делается? Я отредактировал сообщение с кодом анимации. – user3230481

+0

, а также добавлен отчет о инструменте @davbryn – user3230481

+0

Ваша память подтачивается этими файлами png. Они загружаются сразу и потому, что они принадлежат объекту анимации, все они были в памяти сразу. Однако игнорировать общие байты - это общая сумма памяти (включая освобожденную память), у вас есть 11 Мбайт живых байтов, и это нормально. Вы не используете 97MB – davbryn

1

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

Смежные вопросы