unity3d 内存泄露

空场景占这么多内存怎么释放呢,就算再加载一个空场景还是没变,用的NGUI,没有DontDestroyOnLoad任何东西。 

两种可能。1、内存泄漏,ui texture释放的不干净,这是我目前看过的多个技术团队中都普遍存在的问题。这些texture的reference并没有合理消除,所以即便调用resource.unloadunusedasset,甚至转换level都不会将其内存释放。解决办法是尽可能地消除reference,同时尝试使用unload(true)来强行释放内存


二是与decompression buffer相关。该buffer用于解压你的assetbundle,如果你一次性加载大量的assetbundle或加载的assetbundle一直得不到释放,那么该buffer会越开越大,最终导致内存逐步增大。解决办法是合理地加载和卸载assetbundle资源,尽可能地reuse decompression buffer。
这次去参加2013亚洲unity3d大会  我记得一个讲师说道,这个缓存默认会开8M,用于解压缩,所以建议每个压缩包控制在5M以内,而且建议一个个下载解压,这样效率更高,最近太忙了,一直没时间测试到底会高多少,有做过的同学请留言

你可能感兴趣的:(Unity3D)