【发布时间】:2013-05-13 17:46:26
【问题描述】:
我在 Unity3d 中为 iOS 开发了一个应用程序。 我的 iOS 应用程序存在内存问题。 有三个大峰。每个峰值约为 50 mb。 第一次发生在我的应用程序启动时。 我的应用程序呈现简单的主菜单场景(它由背景纹理和三个或四个 GUI.buttons 组成) 第二次发生在用户点击主菜单中的开始按钮时。 第三次发生在用户离开游戏场景时。
场景之间的过渡是通过 Application.LoadLevel 实现的。
在每次转换之前,我都会调用 Resources.UnloadUnusedAssets() 和 System.GC.Collect();
在此过渡期间,旧设备(iPad 1 和 iPhone 3GS)上的应用程序崩溃(内存警告后)。
我应该如何调试这个崩溃? 为什么场景之间的过渡内存消耗如此之高? 在这种情况下,我们如何减少内存消耗?
【问题讨论】:
-
您的背景图片尺寸是多少?你用的是真彩色还是压缩的?您是否为每个场景加载了其他内容(例如 sql 表、音乐/声音等)?