发布产品后,在unity自带的profiler查看资源使用情况,发现一些在旧场景的出现的资源没有被卸载掉,而且被标示为ManagedStaticReferences。这种情况出现在一些打成图集的Sprite,相当蛋疼,比如一个打成1024*1024的图集,其中一张Sprite没有被释放掉的话,那么这个图集就不会被卸载,一直占据8M内存。
确认被标示为ManagedStaticReferences的资源未被任何包含静态实例的脚本调用。
尝试一下解决方法,未果:
1、在所有表示了static instance的脚本OnDestroy 方法调用instance=null;
2、 在场景加载完后,调用Resources.UnloadUnusedAssets();
3、调用Resources.UnloadAsset(obj)方法测试已知未卸载成功。但是在未知sprite的情况下,显然不能用这个方法。