Unity | 资源释放底层原理

目录

一、Resource.UnloadAsset

二、YooAsset资源释放

三、Destory

四、OnDestroy


一、Resource.UnloadAsset

        Resource.UnloadAsset,可以用来卸载AB加载的asset,后续从AB加载新的asset也没问题,卸载依赖AB的asset也可以。并且发现一点,如果场景上有asset的引用,调用该接口并不会卸载asset,需要asset引用的实例对象都被销毁后再调用UnloadAsset接口才会卸载。(只会卸载特定的资源,而不会影响其他仍在使用的资源。)

        在Unity中,AssetBundle.Unload 方法用于卸载已经加载的AssetBundle资源。这个方法接受一个布尔参数,该参数决定是否卸载AssetBundle中包含的所有对象。

  • 当调用 AssetBundle.Unload(true) 时,这意味着想要卸载AssetBundle以及它所包含的所有资源。这包括任何已经从AssetBundle中加载的资源,如纹理、模型、音频等。使用这个方法时要非常小心,因为如果有其他地方还在引用这些资源,那么这些引用将会变成空引用,可能导致运行时错误或者异常行为。
  • 在调用 AssetBundle.Unload(false) 时,AssetBundle的内存将会被释放,但是实际的资源,比如从Asset

猜你喜欢

转载自blog.csdn.net/weixin_39766005/article/details/139593285