/// <summary> /// 资源回收(卸载引用计数为零的资源) /// </summary> public static void UnloadUnusedAssets() { for (int i = _loaders.Count - 1; i >= 0; i--) { FileLoaderBase loader = _loaders[i]; if (loader.CanDestroy()) { loader.Destroy(true); _loaders.RemoveAt(i); } } }
/// <summary> /// 强制回收所有资源 /// </summary> public static void ForceUnloadAllAssets() { for (int i = 0; i < _loaders.Count; i++) { FileLoaderBase loader = _loaders[i]; loader.Destroy(false); } _loaders.Clear(); // 释放所有资源 Resources.UnloadUnusedAssets(); }
/// <summary> /// 实时销毁场景 /// 注意:因为场景比较特殊,需要立刻回收 /// </summary> private static void UpdateDestroyScene() { for (int i = _loaders.Count - 1; i >= 0; i--) { FileLoaderBase loader = _loaders[i]; if (loader.IsSceneLoader && loader.CanDestroy()) { loader.Destroy(true); _loaders.RemoveAt(i); } } }