在设备上使用 Instruments,它会在我的应用程序中使用 Apple 的 Reachability 2.0 代码检测到 3.50 KB 的内存泄漏。泄露的对象是 GeneralBlock-3584。泄漏工具指向以下代码:
- (BOOL) startNotifer
{
BOOL retVal = NO;
SCNetworkReachabilityContext context = {0, self, NULL, NULL, NULL};
if(SCNetworkReachabilitySetCallback(reachabilityRef, ReachabilityCallback, &context))
{
// THIS IS LINE OF CODE WHERE THE LEAK OCCURS:
if(SCNetworkReachabilityScheduleWithRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode))
{
retVal = YES;
}
}
return retVal;
}
我几乎直接使用 Apple 示例代码中的 Reachability 示例,所以我无法弄清楚为什么会发生这种情况或如何修复它。