2010-07-31 66 views
0

在我的应用程序中,我使用了大量基于界面构建器的图像。问题在于它使用大量内存,因为接口构建器缓存它非常喜欢“imageNamed”,因此我已经开始从界面构建器中的imageViews中移除图像,并在视图开始使用“imageWithContentsOfFile”时添加它们。几个小时后,我几乎没有取得进展,因为我有几百个图像。我只是想知道是否有更直接的方法来做到这一点?iPhone上的图像问题

回答

1

是的,不要这样做。 UIImage和整个xib业务几乎延迟加载,直到需要的东西,以及放下缓存的图像在可能和需要的地方。您甚至可以在乐器中看到这种情况。它有助于将设计分成几个xib,因此可以在需要时加载它们。

然而,可以做什么,是确保您不缩放图像,但1:1显示它们,并保存在最低的可接受质量。对于照片,拍摄JPEG。对于其他图像,请使用PNG。

+0

奇怪的是,它似乎并没有这样做,至少不是很好。在我的dealloc方法中,我释放了标题中定义的所有对象,但由于处理的图像数量不同,内存量仍然差不多。这只发生在iOS 4上,如果我在iOS 3上运行它,那很好。 – Jeff 2010-07-31 20:53:34

+0

但是它在低内存条件下会崩溃吗? – mvds 2010-07-31 21:01:13

+0

是的,我一直在监测它在仪器中的内存使用情况。 – Jeff 2010-08-01 08:28:37