UIImagePickerController拍摄5到7张照片后崩溃 - 再次

3

好的,我知道这个问题在这个论坛上已经被讨论得够多了,但我仍然遇到了内存问题,我已经尝试了网络上所有的技巧来解决它。

我有一个应用程序,使用UIImagePickerController从相机中捕获图像。我已经尝试了创建和销毁每张图片的控制器,以及在整个应用程序的生命周期内保留它。但两种方法都失败了。第一种方式几乎立即导致手机崩溃。而第二种方式,保留控制器,会在大约5到7张照片后导致应用程序崩溃。

我的原始应用程序使用了一个未公开的API来解决这个问题,但由于这个原因,苹果公司拒绝了它。我真的需要把我的应用程序放到商店里。有没有人有代码展示如何解决这个问题?

我知道有一种方法,因为商店上有使用相机的应用程序,但我似乎无法做到。非常感谢任何帮助!

如果需要,我也可以在这里发布我的代码。


1
我想看看代码。我认为这会很有帮助。 - Jab
好的,为什么它会崩溃?哪一部分代码出了问题?你的内存是否不足?是否发生了异常?是否有人在发送已释放的对象消息? - Mike Abdullah
1个回答

1

我曾经遇到过一个类似的问题,是在使用Monotouch应用程序时出现的。原因是内存泄漏,我使用同一个UIImage变量来存储每个连续的图片,结果导致之前的图片被泄漏了。Monotouch(C#)与Objective C有所不同,有时候垃圾回收器会为你处理这种情况,但在我的情况下,它似乎没有起作用。我的解决方案是在存储新图像之前显式调用.Dispose()方法释放旧图像。

我猜测你的问题可能是类似的。确保你没有留下任何图像数据,并显式释放你完成的任何数据。此外,请记住,你的应用程序可用的内存有限。也有可能你只是试图一次性在内存中保存太多的图片。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接