Я полагаю, что это связано с тем, что использование памяти OpenGL ES скрыто от ObjectAlloc, но учитывается в памяти монитора.Например, см. Тесты zoul в его вопросе здесь , где он наблюдает небольшое повышение в ObjectAlloc при создании текстуры, но затем эта память исчезает из этого инструмента при передаче в OpenGL ES.Memory Monitor по-прежнему отслеживает эту текстурную память.
Это должно включать в себя визуальный аспект элементов пользовательского интерфейса, таких как слои и представления, поскольку CALayers фактически являются обертками для текстур OpenGL ES.Фактическое представление 2D-изображения ваших элементов пользовательского интерфейса не отслеживается ObjectAlloc, что приводит к снижению общих значений в ObjectAlloc.
ObjectAlloc по-прежнему хорош для отслеживания чисел и типов распределений и дажеболее ценным с момента появления функциональности heapshot.Вы просто хотите связать его с Memory Monitor, чтобы посмотреть на ваше истинное общее использование памяти.