Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Profiler.GetMonoUsedSizeLong

Объявление

public static long GetMonoUsedSizeLong();

Возвращает

long Возвращает длинное целое значение используемой памяти.

Описание

Получает выделенную управляемую память для живых объектов и несобранных объектов.

Эта функция возвращает объем выделенной управляемой памяти для всех объектов, как активных, так и несобранных. Всегда вызывайте GC.Collect перед вызовом этой функции, потому что объекты, на которые нет ссылок, по-прежнему занимают место, пока их не соберет сборщик мусора (GC). Это возвращает постоянно увеличивающееся значение, пока не будет вызван GC.Collect.

Размер Profiler.GetMonoHeapSizeLong может уменьшиться после последующего вызова GC.Collect, если первый вызов GC.Collect собрал все оставшиеся объекты в куче раздел. Выделение новой памяти также может неявно повторно запускать GC.Collect, и если он находит больше объектов, готовых к сбору с момента первого вызова, он может еще больше снизить значение, возвращаемое Profiler.GetMonoUsedSizeLong. Кроме того, Unity может выделять управляемую память в потоках, или многопоточный код может избавляться от указателей на управляемые выделения, так что, хотя может показаться, что ни один код не должен изменять количество управляемых выделений между двумя точками измерения, это не обязательно так. .

using UnityEngine; using System.Collections; using UnityEngine.Profiling; class GetMonoExample : MonoBehaviour { void Update() { System.GC.Collect(); if (UnityEngine.Scripting.GarbageCollector.isIncremental) { Debug.Log("Mono used size" + Profiler.GetMonoUsedSizeLong() + "Bytes, GC.Collect not yet finished"); } else { System.GC.WaitForPendingFinalizers(); Debug.Log("Mono used size" + Profiler.GetMonoUsedSizeLong() + "Bytes"); } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3