Unity资源静态引用

发布产品后,在unity自带的profiler查看资源使用情况,发现一些在旧场景的出现的资源没有被卸载掉,而且被标示为ManagedStaticReferences。这种情况出现在一些打成图集的Sprite,相当蛋疼,比如一个打成1024*1024的图集,其中一张Sprite没有被释放掉的话,那么这个图集就不会被卸载,一直占据8M内存。

Unity资源静态引用_第1张图片


确认被标示为ManagedStaticReferences的资源未被任何包含静态实例的脚本调用。

尝试一下解决方法,未果:

1、在所有表示了static instance的脚本OnDestroy 方法调用instance=null;

 2、 在场景加载完后,调用Resources.UnloadUnusedAssets();

3、调用Resources.UnloadAsset(obj)方法测试已知未卸载成功。但是在未知sprite的情况下,显然不能用这个方法。

你可能感兴趣的:(Unity)