Страница 1 из 1

Resources и UnloadUnusedAssets

СообщениеДобавлено: 03 май 2010, 16:41
gnoblin
Уточнил для себя несколько вещей насчет папки Resources.

Во-первых, всё ее содержимое НЕ грузится в оперативу (как я предполагал ранее).

Во-вторых, вот рабочий пример выгрузки ненужных ассетов из памяти.
Создаем в папке с проектом папку Resources, грузим туда, например, много текстурок в ARGB32, вешаем скрипт, включаем диспетчер задач и наблюдаем O:-) .

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    Object[] objs;
    void OnGUI()
    {
        if (GUILayout.Button("Load All"))
        {
             objs = Resources.LoadAll("");
        }

        if (GUILayout.Button("UnLoad All"))
        {
            Resources.UnloadUnusedAssets();
            objs = null;
        }
    }
}


При запуске пустой сцены - 23 мега в памяти, жмем кнопочку LoadAll - потребление памяти растет (у меня 147 мегов с моими текстурками), жмем кнопочку UnloadAll - потребление памяти падает обратно до 23 мегов.

Хочу заметить, что только
Код: Выделить всё
Resources.UnloadUnusedAssets();
не спасает - очистка памяти срабатывает только в совокупности с занулением ссылки на массив с объектами. :)

Если кто-то что-то умное может сказать на эту тему - you're welcome!

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 03 май 2010, 17:10
warr11r
Какие ресурсы считаються неиспользованными? Те, что есть в сцене, или те, что лежат в папке Resources?

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 03 май 2010, 17:34
Neodrop
Те, которых нет в сцене.

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 11:10
jimmm
То есть по идее, надо в папку ресурсы запихивать все модели и текстуры, чтоб они таким способом вычищались? И работает ли в этом случае Destroy как зануление?

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 11:57
Tolking
Нет. В ресурсы нужно пихать только то, то грузится кодом...

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 13:42
jimmm
Tolking писал(а):Нет. В ресурсы нужно пихать только то, то грузится кодом...

Я имел ввиду, что и модель и префаб и текстуры того объекта что инстантится нужно пихать в папку ресурсов?

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 16:39
Tolking
:) Текстуры грузятся кодом?

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 17:22
jimmm
Нет, на префабе
У меня вроде все дестроится, но память почему-то все забивается и забивается, обратно особо не вычищается

Re: Resources и UnloadUnusedAssets

СообщениеДобавлено: 01 сен 2017, 23:01
lawsonilka
jimmm писал(а):Нет, на префабе
У меня вроде все дестроится, но память почему-то все забивается и забивается, обратно особо не вычищается

ресурсы не будут вычищаться используйте для этого бандлы.