2010-10-08 231 views
0

我有一个简单的应用程序(这是我的第一个),从我的资源文件夹中加载图像,我改变我的形象是这样的(与图像名称改变):IPhone应用程序崩溃的设备

myUIImageView.image = [UIImage imageNamed:@"nextImage.jpg"]; 

它在应用程序上运行得非常好,我可以无限次地更改图像。但是当我在Ipod Touch上运行它时,它会在图像更改大约4次后崩溃。当我改变它时,我需要释放图像吗?这看来确实是内存问题,

我要提到的每个图像就像是200KB。

控制台读取该时崩溃:

Program received signal: “0”. 
Data Formatters temporarily unavailable, will re-try after a 'continue'. (Unknown error loading shared library "/Developer/usr/lib/libXcodeDebuggerSupport.dylib") 

任何意见将帮助, 谢谢!

+1

这行不应该崩溃,也不需要将其释放,因为imageNamed:给出了一个自动释放的对象。请提供更多代码或崩溃错误消息和堆栈跟踪。 – Altealice 2010-10-08 03:14:31

+0

这条线可能不是罪魁祸首,因为它非常好。 [UIImage imageNamed]是autorelease,并保留myUIImageView.image。问题可能在其他地方,你是否释放你的myUIImageView? – Manny 2010-10-08 03:14:59

+0

我没有发布它,对不起,我在这方面有点新手,我用活动监视器在我的设备上运行它,VM Size似乎非常高,我如何发布myUIIMageView? – 2010-10-08 03:18:19

回答

1

当你说,它运行得很好,你的意思是它运行得很好在模拟器上?

我发现它并不好,以检查在模拟器上内存问题:它往往比实际的设备是太强大。崩溃可能不在您的图像交换代码上。

我建议你去上你的代码,并检查是否有泄漏。同时使用仪器 - >在设备上运行时泄漏,而不是在模拟器上进行监视。

1

检查,如果你释放对象的地方。它看起来像释放方法的错误使用。