我知道这是一个愚蠢的问题,但这是我第一个真正的应用程序,我必须要做,我没有人问,我查找了这个问题,没有发现其他类似的问题.
我的应用程序在真实设备上崩溃,毫无例外.我在模拟器中看到使用了太多内存,过了一段时间我得出的结论是我使用的图片都应该受到责备.
该应用程序以这种方式构建:它有8个viewControllers用于不同的东西:例如,它开始于一个让用户选择他/她将玩的头像,这里我有两张图片,接下来是一个viewController,显示该头像的统计数据,这是另一张图片,依此类推.问题是每张图片都使用40MB的RAM进行显示,所以当用户进入游戏所在的gameviewCOntroller时,应用程序会使用超过300MB的RAM.因此,在iPAD 2或iPhone 4等设备上崩溃,但在iphone 5上却没有崩溃.
我尝试从"images.xcassets"和".atlas"文件夹设置图像,但结果完全相同.图片的尺寸不超过1500x1999像素,它们是png格式.
另外,我看到如果应用程序直接启动到giveViewController它将使用180MB,所以另一个viewController保留在内存或类似的东西.我应该"清除"它们或类似的东西吗?
//-------update-------
Run Code Online (Sandbox Code Playgroud)
这是我从仪器得到的:

内存在移动设备上是一个大问题,你的问题没有明确的答案,但我可以给你一些建议:
widthXheightXNumber_of_channelXbit_for_channelCATiledLayer-imageNamed它缓存图像,即使Apple说这个缓存是在内存压力下释放的,你也没有很多控制权来避免崩溃为时已晚
这些是一般性建议,如果符合您的要求,则取决于您.
| 归档时间: |
|
| 查看次数: |
2393 次 |
| 最近记录: |