只有一个问题“当应用程序转到后台时如何正确释放对象?”。我正在开发一些应用程序,一切都很好。当我把应用程序放到后台然后再次启动时它会崩溃。不是立即(应用程序星星我关闭它的地方),但当我选择一些单元格或只是滚动tableview为例。所以我很确定应用程序调用已发布的数据。
这里是dealloc的例子
- (void)dealloc {
[anObject release];
[array release];
[locationManager release];
[currentLatitude release];
[currentLongitude release];
[filteredListContent release];
[super dealloc];
}
有任何建议吗?
答案 0 :(得分:1)
除非您在app delegate的applicationDidEnterBackground方法中专门取消分配内容,否则不应为您自动释放任何内容。
我从来没有遇到过你遇到的问题。你是否确定一段时间后不会发生同样的事情,即使你从未把它放在后台?
这里有一个很好的解释,说明所有背景材料如何组合在一起:
答案 1 :(得分:0)
我查看并重新编写自己的代码。问题就像我预期的释放内存一样。我使用autorelease,我不应该。它仍然很奇怪因为当我再次打开它时应用程序崩溃了。
谢谢大家,不是你们送给我的2个人,你们是混蛋。不要被冒犯,但不要给一些建议你只是给不接地的negs。
答案 2 :(得分:0)
永远不要释放这样的任何物体。使用
- (void)dealloc {
if(anObject){
[anObject release];
anObject = nil;
}
if(array){
[array release];
array = nil;
}
//same approach for all.
[super dealloc];
}