【发布时间】:2012-08-11 16:47:41
【问题描述】:
此代码在 iPad 4S 上运行,但是在 iPad 1 上运行时会导致崩溃。
代码没有使用 ARC,(我也不希望使用 ARC,因为我试图掌握内存管理的概念)。
The implementation file on pastebin
代码是一个硬币翻转App,用户可以选择不同类的硬币数量,这个值由实现文件访问。
我最初认为阵列给我带来了麻烦。根据我对内存管理的理解,我将它们声明为@property(nonatomic, retain),这意味着我拥有所有权,因此必须在dealloc 方法中释放它们。
一旦对象的retainCount 达到0,就会调用dealloc 方法。我已尽力了解问题所在。
但我不确定是否有,因为代码适用于 4s。
【问题讨论】:
-
没有像 iPad 4S 这样的东西 :)
-
请发布您的崩溃日志 - 如果它在一台设备上运行但在另一台设备上运行,则可能不是内存问题,更有可能是其他问题。如果您发布崩溃日志,则问题的根本原因将更容易诊断。没有他们,人们不太可能想通读您的所有代码。
-
在 iPad 1 上加载所有可能会遇到内存警告的图像,因为它的内存比 iPhone 4S 少。
-
@lxt 抱歉,我不想让自己看起来像是在尝试免费回答。通常我会查看 XCode 中的日志,但是当它在 iPad 上崩溃时,它只会进入黑屏。没有日志,就是因为这个原因我把代码贴出来了。
-
@Ríomhaire - 正如其他人所指出的那样,您很可能会收到内存警告(当我说“不是内存问题”时,我并不是真的意思 - 我的意思是,不是一个糟糕的访问问题)。这就是为什么在旧设备(可用内存较少)上会遇到问题的原因。
标签: iphone objective-c ios ipad memory-management