Unity C# как освобождать оперативную память

274
14 ноября 2017, 22:09

Есть сцена, со множеством на ней объектов, спрайтов и анимаций. По окончанию работы над приложением, заметил, что приложение занимает больше 200 мб оперативной памяти. Что не очень хорошо, для мобильных устройств. Как освобождать оперативную память от объектов с которыми не происходит взаимодействия? Пытался удалять при помощи "Destroy();" но оперативная память не прибавлялась как в "Profiler" так и на реальном устройстве "SetActive" тоже результатов не дал. Освобождает память только открытие новой сцены, но это не выход из положения. Спасибо.

Answer 1
  1. Тут уже советовали GC.Collect. Так вот, НЕЛЬЗЯ его использовать. Во-первых, потому что это решение симптомов, а не проблемы. Во-вторых, эта штука жутко тормозная.
  2. Нужно понять, что же это висит в памяти.
  3. Почитать статьи вроде этой.
  4. Пока приложение работает, посмотрите что и где выделяется в Deep Profiler.
  5. Посмотреть, к примеру, в сторону UnloadUnusedAssets.
READ ALSO
c# следующий за курсором объект

c# следующий за курсором объект

Хочу реализовать следующую идею: При нажатии кнопки пикчер бокс начинает следовать за курсором со скоростью, заданной таймером (допусим...

214
C# / VS / Hosting - ошибка в работе с базой данных MS Sql

C# / VS / Hosting - ошибка в работе с базой данных MS Sql

C# / VS / Hosting - ошибка в работе с базой данных MS Sql

259
Заменить символ и выделить (цветом и т.д)

Заменить символ и выделить (цветом и т.д)

Привет! Суть вопроса имеется InputField для ввода текста и textField для отображения результатаПри вводе текста символы заменяются в определенном...

257
Параллельный вызов метода C# WPF

Параллельный вызов метода C# WPF

Допустим у меня есть метод, который принимает в качестве параметров 2 строки и возвращает одну строку

310