【问题标题】:Memory leak in Pushing view controller推送视图控制器中的内存泄漏
【发布时间】:2012-01-15 16:39:56
【问题描述】:

在 Instrument-Leaks 中,当我推送 PhotosObj 时,以下代码总是增加分配内存。释放 PhotosObj 不起作用。

if (PhotosObj) {
    [PhotosObj release];
    PhotosObj=nil;
    PhotosObj=[[Photos alloc]initWithNibName:@"Photos" bundle:nil]; 
}
else {
    PhotosObj=[[Photos alloc]initWithNibName:@"Photos" bundle:nil];
}
[self.navigationController pushViewController:PhotosObj animated:YES]; 

请澄清一下。

提前致谢

【问题讨论】:

    标签: ios memory-management memory-leaks navigationcontroller


    【解决方案1】:

    PhotosObj 是一个什么样的变量?局部变量、全局变量还是实例变量? 我建议将其设为局部变量(变量名应以小写字母开头),如下所示:

    Photos *photosObj = [[Photos alloc] initWithNibName:@"Photos" bundle:nil];
    [self.navigationController pushViewController:photosObj animated:YES];
    [photosObj release];
    

    【讨论】:

    • 谢谢你,我会检查的
    • @boopathi 你发布了那个photosObj的对象吗
    • @kamarshad 是的,但仍然存在泄漏。似乎释放 photosObj 不起作用。如果我推送同一个对象,则泄漏不存在
    • @boopathi if you used hoshi's Code ..?.then it would not show any memory leaks.because he manage the memory.
    • @kamarshad 你能给我hoshi的代码细节吗?对我来说没问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多