我有一个有3个场景的应用程序。这是一款2D游戏。我的纹理内存永远不会超过32MB。它通常在25MB左右。在我的第二个场景中,成本最高的一个,我有大约130MB。如果我把应用程序放在后台,打开其他占用大量内存的应用程序,它会降到大约30MB。然后我可以重新打开应用程序,像往常一样继续玩。每当我切换场景时,内存会在5-10分钟内恢复到130MB左右。
为什么unity保留如此多的内存而不将其返回给操作系统?我的意思是,如果你有一个可以在30MB上运行的应用程序,那么当你已经有50MB的时候,为什么还要要求更多的内存呢?在较老的设备上,应用程序会被杀死,因为应用程序要求太多内存,尽管它并不需要内存。
有没有人知道任何可能有用的变通方法,or...whatever?
发布于 2015-04-04 01:48:46
你应该使用对象池,同时销毁你不使用的所有精灵和游戏对象。此外,对于您的纹理,请尝试压缩
https://stackoverflow.com/questions/29435903
复制相似问题