iPhone 相机应用程序在 iPhone 中运行良好,但在 iPod 中崩溃
Posted
技术标签:
【中文标题】iPhone 相机应用程序在 iPhone 中运行良好,但在 iPod 中崩溃【英文标题】:iPhone camera application running fine in iPhone but crashing in iPod 【发布时间】:2011-06-01 13:32:14 【问题描述】:我制作了一个使用相机的 iPhone 应用程序。它在 iPhone 上运行良好,完全没有内存警告。它也在 iPod touch 4G 上运行,但在收到 2 级警告一段时间后会发出内存警告和崩溃。 如果有人可以指出我的可能原因。谢谢。
【问题讨论】:
您使用的内存过多 - 泄漏? 【参考方案1】:解决此问题的唯一方法是能够在设备上对其进行调试。我写这篇博客是为了解释如何调试 EXC_BAD_ACCESS,这就是我假设你得到的
http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html
最简单的事情:
运行构建和分析并修复它发现的每个问题(或至少重写它,以便 B&A 不会认为这是一个问题)—— 拥有一个干净的 B&A 是确保你赶上的一个非常好的方法早点解决这些问题
打开 Zombies 并运行您的程序——这会使发送到对象的最后一个版本变成一个僵尸而不是解除分配它。你的程序会泄漏大量内存,但如果你曾经向僵尸发送消息,它会停在那里,你会看到一个需要修复的错误,因为在你的真实版本中,这将是一个崩溃(发送消息到一个已释放的对象)。
链接中描述的更多技术
【讨论】:
感谢 Lou,现在两者的构建都稳定了。我构建并分析了代码,它显示了一些内存泄漏的区域。【参考方案2】:它是在特定操作时崩溃还是随机崩溃?
如果是随机的, 使用仪器检查您的内存泄漏和内存使用情况。如果不查看您的所有应用程序,很难找出问题所在。
【讨论】:
谢谢。我在仪器上运行我的应用程序,但总内存分配从未超过 3 MB。让我抓狂的是这就是为什么它在 iPhone 上运行流畅,但在 iPod Touch 上却不行。 @Ammad Hussain 您的 iPod Touch 和 iPhone 使用相同版本的系统吗?如果是这样,您可能使用了一些未记录的已弃用 API。 感谢您的回复。现在两者都很稳定。 @Ammad 请问是什么原因造成的? 抱歉回复晚了。我修复了使用分析发现的一些内存泄漏。我想到的一件事是我拥有的 iPhone 是 3g 和 ios 4.2.1,所以没有多任务处理。但是 iPod 具有多任务处理功能,并且其他应用程序在后台运行。其他应用占用的内存可能导致应用提前崩溃。以上是关于iPhone 相机应用程序在 iPhone 中运行良好,但在 iPod 中崩溃的主要内容,如果未能解决你的问题,请参考以下文章