использование памяти айфона

После работы с анализатором памяти мое приложение очень медленно увеличивает потребление памяти.

Анализатор обнаруживал утечки памяти при возникновении определенных событий, которые я быстро исправил. Но это медленное потребление памяти происходит, когда я ничего не делаю в приложении. Приложение в основном только запускается. Потребление более заметно, когда я прикасаюсь к предмету и перемещаю его.

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

Спасибо


person Edward An    schedule 06.08.2009    source источник


Ответы (2)


Инструмент Leaks обнаруживает ошибки программирования (выход объекта за пределы области действия без освобождения), но не может обнаруживать семантические ошибки. Распространенной ошибкой этого типа является удержание чего-то после того, как вы закончили с этим в массиве или в глобальной переменной. Одна из причин, связанных с iPhone, которую я видел, заключается в том, чтобы продолжать помещать представления в UINavigationController, не очищая те, которые вы больше не собираетесь использовать.

person Travis Watkins    schedule 06.08.2009
comment
я вижу медленное, но постоянное увеличение памяти, просто позволяя приложению сидеть и ничего не делать. хотя на самом деле он рендерит материал каждую 1 секунду через NSTimer. Я также немного занимаюсь компьютерной графикой... (для рендеринга графики, связанной с кварцем). возможно, это как-то связано с тем, что память не освобождается. Кроме того, у меня есть несколько контроллеров представления. но они выпускаются автоматически. поэтому я считаю, что им хорошо в этой области. Спасибо. - person Edward An; 06.08.2009
comment
Кроме того... я явно неправильно читал анализатор. Я смотрел общий столбец байтов - в частности, я предполагал, что у меня везде была резкая утечка памяти, так как этот столбец продолжал расти. - person Edward An; 08.08.2009

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

person Sandeep Kumar    schedule 06.08.2009