1

Когда я запускаю приложение для iPhone с помощью «Утечек» (у которого есть раздел для Object Alloc), мое приложение, похоже, подходит для распределения памяти. Однако, когда я запускаю его только с помощью инструмента ObjectAlloc, память постоянно увеличивается, так как приложение запускает свой основной таймер. (Это приложение на основе таймера). Я не уверен, чему доверять. Мне просто интересно, есть ли какие-либо проблемы с инструментом ObjectAlloc, который может иметь отношение ко мне. Может быть, что-то связано с NSTImer? Я запускаю это на устройстве (а не в симуляторе). Благодарю.Я доверяю ObjectAlloc или утечки для анализа моего iPhone-приложения?

ответ

1

Да - доверяйте инструментам. В наши дни они очень точны.

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

Однако устранение всех утечек не означает, что ваше приложение не может расти без ограничений.

Неограниченный рост может произойти по ряду причин. У вас может быть кеш, который добавляет записи без обрезки наименее недавно используемых записей. Или, возможно, журнал транзакций, который никогда не усекается или не сбрасывается в файловую систему. Или вы можете продолжать загружать новые изображения в свое приложение, не выбрасывая старые.

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

+0

Инструмент «Утечки» также имеет раздел для размещения объекта. Мой вопрос действительно в том, почему раздел ObjectAlloc «Утечки» дает мне разные данные из самого инструмента «Object Alloc». – NickDK

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