一 原理
resources 加载一次资源后
该资源一直在内存中作为缓存
第二次加载时发现缓存中存在该资源
会直接取出来使用
所以多次重复加载不会浪费内存
但是会浪费性能
二 卸载资源
1卸载指定资源
Resources.UnloadAsset方法
注意:
该方法 不能释放GameObject对象 因为它会用于实例化对象
它只能用于一些 不需要实例化的内容 比如图片和音效 文本等
一般很少单独使用
cs
GameObject obj = Resources.Load<GameObject>("Cube");
Resources.UnloadAsset(obj);
2 卸载未使用的资源
cs
Resources.UnloadUnusedAssets();
GC.Collect();
3 示例
要记得将释放了的资源变量置空
cs
if (Input.GetKeyDown(KeyCode.Alpha1))
{
tex = Resources.Load<Texture>("Texture/TestJPG");
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Resources.UnloadAsset (tex);
tex=null;
}