0

我正在 iPad 上开发一个邮件客户端(类似于默认的应用程序客户端),并使用核心数据框架作为缓存来提高性能。我的应用程序使用了大约 4.5 - 5 MB 的堆内存,然后由于内存溢出而崩溃(使用分配工具检测到这一点)。如果我尝试减少内存,我的性能会变得非常缓慢和迟缓,因为我无法缓存我的视图、数据结构(存储文件夹和所有邮件)和表格视图。

我检查了我的 crashLogs,我看到我的应用程序前面写着被抛弃的字样,这证实操作系统已经强行关闭了我的应用程序!

我已经使用仪器来检测这些限制。请在此处找到附加的图像 这是我在应用程序崩溃之前录制的快照。

我已经在模拟器上测试了我的应用程序,它稳定在 6 - 7 MB 的堆内存。有什么办法可以让我通过在我的代码中进行一些重新设计来要求操作系统提供更多内存或避免崩溃。

任何建议或帮助将不胜感激。

4

1 回答 1

1

6-8MB 的内存绝对不是问题。很可能您正在浪费内存,或者如果您正在运行调试版本并打开了 Zombies,则默认设置是永远不会删除僵尸。NSZombiesEnabled=YES 和 NSDeallocateZombies=NO 似乎会泄漏内存,因为没有任何内容被删除。

于 2012-06-06T18:30:21.583 回答