版本:Unity 6 (6000.0)
语言英语
  • C#

AssetBundle.UnloadAllAssetBundles

建议改动

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实会阅读用户建议的每项更改,并在适用时进行更新。

关闭

提交失败

出于某种原因,无法提交您建议的更改。请在几分钟后<a>再次尝试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void UnloadAllAssetBundles(bool unloadAllObjects);

参数

unloadAllObjects 确定是否卸载从 AssetBundle 加载的对象的当前实例。

说明

卸载所有当前加载的 AssetBundle。

unloadAllObjects 为 false 时,存放 AssetBundle 内容的跟踪数据结构和任何缓冲器都将被释放。但是,从该包中加载对象的任何实例都将保持完整。

unloadAllObjects 为 true 时,所有从当前加载的包中加载的对象也将被销毁。如果你的场景中的游戏对象引用这些资产,则对此对象的引用将会失效。

无论哪种情况,除非重新加载当前加载的包,否则你将无法从其中加载更多对象。

注意:在编辑器中,为 unloadAllObjects 传递 false 值可能导致意外的行为。例如,退出播放模式后,Mip贴图串流 系统可能仍然引用从包中加载的纹理。这意味着,当 Mip贴图串流系统尝试更新每个纹理的 Mip贴图时,它无法访问已卸载的包,并在控制 台中显示错误。为避免此问题,请使用 条件编译 在编辑器中传递 true,在构建中传递 false。有关使用的不同压缩格式及其在加载时的内存影响的说明,请参阅 AssetBundle 压缩

其他资源:UnloadUnloadAsync本机使用 AssetBundle