2012-10-30 70 views
0

我正在创建基于故事板的应用程序,其中每个视图都有相当多的大图像。在显示一些内存警告之后,该应用程序崩溃(不是很多,它通常在10-15分钟的密集使用之后崩溃)。 我检查过仪器,它不报告任何单个内存泄漏。此外,分配似乎是合理的(当我加载一些包含非常大的图像的xib时,我只在游戏中获得了1或2个峰值 - 对于iPad视网膜版本,大约为8mo)。 当我收到内存警告时,我没有任何可释放的对象,因为前一视图中的所有内容都已被释放。内存警告和崩溃,但没有泄漏

我已经看到了类似的问题,但它似乎是与特定的代码行,这不是我的情况:iOS - App crashing after Memory Warning - Instruments showing no leaks

有没有办法迫使xcode的清理被缓存的图片? 否则,我能做些什么来防止这些崩溃?

感谢您的帮助!

+0

你可以发布一些代码告诉我们你如何发布图像? –

+0

检查图像的创建和发布。 CFRelease,CGContextRelease等可能是必需的。 – esh

+0

泄漏不是唯一导致记忆警告的事情。它看起来像纯粹从内存消耗中获得它们。我的第一个虽然将使用大小为屏幕而不是8MP图像的图像。 –

回答

1

我有类似的问题,但我的解决方案在最后很容易: 你应该认为Iphone就像一辆汽车。一辆汽车在一秒内不能加速到100英里/小时。 Iphone无法在一秒钟内加载大图片。所以你必须做的是:你应该缩小图像的大小,并且如果在一个视图中有两个以上的大图像,只需删除其中一个或将其放入其他视图。

如果这不是您的解决方案,请在代码中查找错误并检查应用程序崩溃的位置。