Unity资源的卸载

Asset是什么?

游戏中具体的资源,像texture,mesh,material,shader,script等,实实在在的游戏项目文件夹中所需要堆放的资源。 它们都 UnityEngine.Object的子类
 GUID 是它们的id
 Unity资源的卸载_第1张图片
 如果不是在主线程里的 会报错,自己可以用c#x写多线程访问试试。
 在这里插入图片描述

GameObject是什么

存在场景中的游戏对象,用到的时候需要被实例化出来,它持有 asstet的引用

AssetBundle是什么

AssetBundle就是为了让游戏项目中大量Asset适应实际游戏运行时而被压缩后的一种二进制文件。

参考:

释放资源可以使用

  1. Resources.UnloadUnusedAssets() 比较耗性能
  2. Resouce.UnLoadAsset(obj)
    这个只对shader,mesh,Texture等等 不需要被实例化的资源
  3. .AssetBundle.unload(true)
  4. GameObject.DestroyImmediate(asset,true)
    可以使用这个来删除需要实例化的 游戏对象
    文中提到的 未测试 测过 依赖可以被删除。

Unity资源的卸载_第2张图片
Unity资源的卸载_第3张图片

Unity资源的卸载_第4张图片

参考 链接:https://www.cnblogs.com/u3ddjw/p/11074071.html

你可能感兴趣的:(S3_Unity学习,资源管理,unity,游戏开发)