Activity Monitor бесполезен для целей разработки / отладки.Функция AM полезна только в том случае, если у вас нет запущенных инструментов и вы видите, что RPRVT значительно растет со временем.Даже в этом случае это просто симптом, и он может не указывать на реальную проблему.
AM является своего рода обобщением набора различных чисел, связанных с памятью.Это очень грубое число.Инструмент Распределения суммирует точно набор выделений в вашем приложении (который в Mac OS X может включать в себя как GC, так и не-GC).Сократите распределение, и общее использование памяти, как правило, уменьшится.
Обратите внимание, что система, не испытывающая нагрузки на память, часто не будет запрашивать, чтобы приложения возвращали память.То есть, вы можете не увидеть снижение числа мониторов активности.
Обратите внимание также, что «нет утечек на 100%» - это всего лишь около 10% от общего усилия по сокращению использования памяти.Ваше приложение отбрасывается из-за чрезмерного потребления памяти.Это либо из-за архитектурной проблемы, когда алгоритмы вашего приложения используют много памяти, либо из-за того, что ваше приложение выделяет и оставляет память.Заброшенная память может не отображаться как утечка;скажем, если у вас есть кэш только для записи, в котором дубликаты элемента помещаются в кэш снова и снова, но никогда не извлекаются, использование памяти возрастет до отказа, а утечки не будут отображаться.
Утечкаэто просто объект, для которого нет жизнеспособных ссылок.Объект, на который можно ссылаться, все еще может быть утечкой!
Анализ снимков кучи чрезвычайно эффективен в решении этой проблемы.