Возможно, вы используете Memory Gauge во время работы в симуляторе с использованием конфигурации сборки Debug.Оба из них дадут вам вводящие в заблуждение результаты памяти.Единственный надежный способ узнать, как управляется память, - это запустить на устройстве, используя сборку Release.Instruments использует конфигурацию сборки Release, поэтому она уже будет лучше, чем просто запуск и использование Memory Gauge.
Более того, это известный недостаток встроенных в память инструментов Xcode, таких как Memory Debugger, может генерировать ложные срабатывания для утечек.
Однако у инструментов есть и свои недостатки.Мой опыт показывает, что, например, он не может уловить утечки, возникающие при запуске приложения.Другая проблема заключается в том, что люди не всегда понимают, как читать его результаты.Например, вы говорите:
панель отладки, кажется, показывает намного более высокое использование памяти, чем то, что я вижу в Распределениях
Да, но Распределения - не вся история.Вы, вероятно, не можете посмотреть на распределение виртуальных машин.Они показаны отдельно и часто являются причиной высокого использования памяти (поскольку они включают резервные хранилища для изображений и дерево визуализации представления).Датчик памяти включает в себя виртуальную память, так что это одно может объяснить «разницу», которую, как вы думаете, вы видите.
Итак, ответ на ваш вопрос: нет, датчик памяти не бесполезен.Это дает довольно хорошее представление о том, когда вам может потребоваться быть готовым к проблеме с памятью.Но от вас ожидают, что вы переключитесь на инструменты для надлежащего анализа.