在进行一些测试时,我注意到我的Cocos2D
应用程序非常糟糕。这很奇怪,因为应用程序本身并没有进行密集计算,每次更新都没有安排项目,而且通常很简单。
除了我没有使用TexturePacker
等优化图像这一事实之外,我想不出任何可能发生这种情况的原因。
在使用内存分析器进行进一步测试后Instruments
,我发现无论设备当前处于什么状态(运行应用程序、坐在主屏幕等),地图都使用了 20-30MB 的设备内存。App Store 和 Springboard 的使用量也相同。我明白为什么 Springboard 需要在内存中保持运行,但究竟为什么 Maps 和 App Store 在我的应用程序的沙箱中运行?
我认为一旦退出应用程序,它就不再位于主内存中。一直以来,我一直相信任何应用程序都可以在其沙箱中运行,仅此而已 - 并且您不需要双击主屏幕并从快速菜单中“强制退出”应用程序。但是,强制退出地图和 App Store 是释放必要内存的唯一方法。我的假设一直都是错误的吗?这只是Apple的东西,我被迫为内存密集型应用程序工作吗?