【问题标题】:Received Memory warning in iPad 1 but working fine in iPad 2 & 3在 iPad 1 中收到内存警告,但在 iPad 2 和 3 中工作正常
【发布时间】:2013-10-08 12:47:05
【问题描述】:

最近我更新了我的应用程序以支持 iOS 7.0,但现在我的应用程序无法在 iPad 1(iOS 5.1.1) 中运行,并且在 iPad 2(iOS 6.1.3) 和 iPad 3(iOS 7.0) 中运行良好。

现在我正在使用仪器运行我的应用程序以提高性能,但我无法理解相同的代码不会在 iPad 2 和 3 中生成内存并且仅在 iPad 1 中产生问题。所以每当我修改代码时,我需要检查所有 3 台设备,并且某些代码在 iPad 2(iOS 6.1.3)中不起作用

我已经实现了自定义 tabbar 控制器以匹配 iOS 6 和 5 中的 iOS 7.0 设计。我计划修改以删除自定义 tababr 并实现 UITabBarController 代替。

让我知道是否有任何简单的解决方案或任何替代方案来解决此问题。我需要在 iPad 1 中重新安装 iOS 还是我的 iPad 1 有任何硬件相关问题?

【问题讨论】:

  • 我认为你可以合理地打赌,如果它可以在 iPad1 上运行,那么它将在以后的设备上运行良好。 iPad1 仅有 256MB 内存,其中一部分被操作系统占用。 .看看安德鲁斯布朗布劳恩的回答。 . .查找将重对象分配给整个集合的任何循环。寻找可以使用自动释放池的地方。使用工具中的泄漏工具运行代码(泄漏很好 - 显示分配/使用和泄漏(如果有))。尝试使用旧设备进行测试 - 它们将有助于及早发现问题。

标签: iphone ios objective-c ipad memory-management


【解决方案1】:

您的问题是 iPad 1 的内存比 iPad2 或 iPad3 少,因此之前会引发内存警告。如果你想在 iPad 1 上运行你的应用程序,你需要改进你的内存管理。我建议您观看https://developer.apple.com/wwdc/videos/ 中的“修复内存问题”。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多