【问题标题】:tracing a memory leak with Instruments in iPhone app在 iPhone 应用程序中使用 Instruments 跟踪内存泄漏
【发布时间】:2011-03-17 20:02:33
【问题描述】:

我在使用 Instruments 查找内存泄漏时遇到问题。通常它对我有很大帮助,我能够找到泄漏,但在这种情况下,我迷路了。

我正在创建一个视图控制器来控制从 NIB 文件加载的视图。该视图具有真正的“显示用户位置”的地图视图。找到用户位置后,我使用 MKReverseGeocoder 获取位置数据。当我加载这个视图控制器并且 MapKit 找到用户位置时,泄漏总是存在的。我发现 MKReverseGeocoder 在这里没有问题,因为无论是否使用 MKReverseGeocoder,我都会遇到相同的泄漏。

当我加载此视图时,仪器“泄漏”报告内存泄漏。看图片上的截图:

这就是我初始化控制器的方式:

AddPlaceViewController *addPlaceVC = [[AddPlaceViewController alloc] initWithNibName:@"AddPlaceViewController" bundle:[NSBundle mainBundle]];
addPlaceVC.delegate = self;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addPlaceVC];
self.placeController = navigationController;
[self presentModalViewController:self.placeController animated:YES];
[addPlaceVC release];
[navigationController release];

这一切都在 iPhone Simulator 4 和目标 OS 3.2 上。

这实际上是泄漏还是我在这里面临的?

【问题讨论】:

    标签: iphone memory-management memory-leaks


    【解决方案1】:

    由于负责的库是“Foundation”而不是您的代码,因此您无能为力(除了向 Apple 报告)。

    【讨论】:

    • 这是真的吗?在使用 Instruments 报告 Apple API 中的泄漏时,我遇到了类似的问题。我总是倾向于认为我误解或读错了报告,因为苹果为什么要发布泄漏代码? ;) 但说真的,Apple API 泄​​漏或导致泄漏是否普遍?
    • 有两种可能:(1)苹果确实写了漏代码; (2) Instruments 报告误报。我们也无能为力。
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多