0

我正在尝试使用 Xcode 4.3.3 和 iPhone 5.1 模拟器开发一个应用程序。

当我在模拟器上运行这个应用程序时,我没有收到任何警告,它运行得很好。但是,当我尝试在 iOS 设备上进行这项工作时,我收到一条警告消息,即Received memory warnings。当应用程序开始在屏幕上显示图像时,我收到了此警告消息。我正在使用github 中提供的SDWebImage项目来显示图像。我认为这个问题与 iOS 设备和模拟器的内存组织方式不同有关。我看过这个问题iOS 设备和模拟器的构建实际上有何不同?了解 iOS 设备和模拟器的构建应用程序有何不同。但是,我对记忆组织的发现并没有让我满意。你们知道为什么会这样吗?

另一个问题:在内存管理的上下文中,应用程序是否有任何限制?我的意思是,例如,假设分配了 5MB 内存,我会收到任何指向此问题的消息吗?

提前致谢。

4

2 回答 2

3

除非您自己创建它们(使用“模拟内存警告”选项),否则您永远不会在模拟器中收到内存警告。您可以访问 Mac 的整个内存,包括虚拟内存。你最好不要用移动应用程序...

如果您在设备上看到内存警告,则表示您使用的内存过多。确定您遇到问题的最佳工具是 Instruments,特别是 Allocations 工具。这将向您展示占用最多内存的内容以及您应该关注的地方。大多数内存警告是由于泄漏或保留循环引起的。

于 2012-07-25T22:03:29.423 回答
1

最好不要用模拟器调试,因为模拟器s memory is the mac , but your device的内存非常有限,模拟器的能力比较好。

于 2012-07-26T06:28:58.360 回答