我有一个Web视图,它作为模态视图加载。使用以下代码加载网页后出现内存泄漏。
[myView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30]];
我的dealloc方法如下:
- (void)dealloc
{
myView.delegate = nil;
[myView release];
[url release];
[super dealloc];
}
仪器显示5块GeneralBlock 32泄漏,但没有可用的堆栈跟踪。
泄漏每次加载网页后都会发生,每次加载时恰好是5个块。如果我在页面完全加载之前解除模态视图,则没有泄漏。如果我将缓存策略更改为NSURLRequestReturnCacheDataElseLoad仅在第一次加载网页时发生泄漏。
我已经尝试了以下链接中的方法,但它对我不起作用。
感谢任何帮助。 感谢。
答案 0 :(得分:2)
我在4.1之前的iOS中发现了几个UIWebView
相关的泄漏(并详细报告了一个),因为我在我正在开发的当前iOS应用程序中大量使用HTML本地加载。它们都与WebKit实现的bug有关。
自4.1以来我没有看到任何这些泄漏。
如果你可以用4.1重新测试,并且泄漏消失了,那么我会忽略泄漏并继续前进。我已经批准了这些类型的泄漏应用程序,因为它们在Apple框架中并且在您的控制之外。