Существует два режима, которые вы можете использовать для изучения потребления памяти в вашем приложении. Выбрать один из них можно в выпадающем меню в верхней части нижней панели.
Это простой режим, в котором для выбранного кадра отображается количество используемой памяти во всем редакторе на высоком уровне (довольно обобщённо и без детализации).
Unity резервирует пулы памяти для быстрого выделения памяти под новые объекты, то есть, чтобы избежать слишком частого запрашивания дополнительной памяти у ОС. В нижней панели отображается как количество зарезервированной памяти (Reserved Total), так и количество используемой памяти из той, что была зарезервирована (Used Total). Выводится для следующих областей:
Статистика потребления памяти отображается и для некоторых наиболее часто используемых типов ассетов / объектов и включает в себя количество элементов и объём потребляемой ими памяти (обычной и видеопамяти).
В этом режиме можно сделать “снимок” текущего состояния. Нажмите кнопку “Take Sample” для совершения сбора детальных данных о потреблении памяти. Процесс получения этих данных занимает некоторое время, поэтому детальный режим не подходит для отображения данных в реальном времени. После создания “снимка” окно профайлера обновится и в нижней части появится подробное дерево из элементов для изучения потребления памяти.
Отобразится потребление памяти отдельными ассетами и игровыми объектами. Отобразится и причина присутствия объекта в памяти. Причины могут быть следующими:
При клике по объекту в списке, он будет выделен в сцене или в проекте, если вы запускали игру в редакторе.
При профилировании игры в редакторе все значения в профайлере памяти отражают потребление самим редактором. При профилировании проигрывателя значения будут меньше, т.к. не будет дополнительной нагрузки от редактора. Для более точного измерения потребления памяти вашим приложением, используйте удалённое профилирование, подключая профайлер к запущенному проигрывателю. Это позволит получить точные данные для работающего на устройстве приложения.
Memory reported under System.ExecutableAndDlls
is read-only memory, therefore OS might discard these pages at need and later reload from the file system. So it makes little memory pressure and it rarely directly contributes to OS decision to kill application. Also some of these pages might be shared with other applications (which are using the same frameworks).