大家好我已经制作了一个应用程序,我在模拟器和iphone中运行它的工作正常,我将它分解并消除内存泄漏。
但今天我在模拟器上运行应用程序,当我要进行第二次查看时显示视图正常但是当我回到第二个视图时它崩溃而没有显示任何消息......
是否过剩?我不认为......
答案 0 :(得分:0)
我认为您正在发布具有MKMapView委托的viewcontroller,不要发布具有MKMapView委托的viewController。我认为你在修复内存泄漏时释放了该代理
答案 1 :(得分:0)
好的,然后试试这个
不要在这里发布appDelegate对象。它是整个应用程序的共享副本。在super dealloc之前释放所有对象。
- (void)dealloc {
//[appDelegate release];//here crash
[staticImageDictionary release];
[siteData release];
[newdata release];
[connection release];
[webData release];
[activity release];
[super dealloc];
}
答案 2 :(得分:0)
在Objective C中,通常情况下,当你在已经“释放”的dealloc方法中重新定位对象时,它将显示不良过量。要跟踪哪个对象已经发布,请使用NSZombieEnabled您可以在控制台中看到更多说明。