我在我的应用程序中使用了2个分别位于不同页面/控制器的UIView控件:
- UIImageView(通过NSData dataWithContentsOfUrl检索数据) - UIWebView
为了隔离我的代码并使其更易于解释,我创建了一个名为"MyTestApplication"的新视图项目。
1- 我在委托函数中添加了一个简单的NSData dataWithContentsOfUrl。
NSData *imageData = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@"http://www.google.com/intl/en_ALL/images/logo.gif"]];
这里没有需要发布的内容,因为所有操作都使用了方便函数。
alt文本 http://img.skitch.com/20081110-j5tn5n7ixph95ys4rpchibaw5p.preview.jpg
2 - 运行它以验证没有泄漏(如预期)。
alt文本 http://img.skitch.com/20081110-fy2qrkgy47hm4fe2f1aakd4muw.preview.jpg
3 - 打开ViewController.xib并从库中添加一个UIWebView即可(无需连接它)。
alt文本 http://img.skitch.com/20081110-d63c3yh1a1kqiciy73q8uyd68j.preview.jpg
4 - 运行它以验证是否有泄漏!(为什么???)
alt文本 http://img.skitch.com/20081110-qtxcfwntbcc3csabda3r6nfjg6.preview.jpg
我做错了什么?请帮忙!
为什么NSData会导致内存泄漏,如果我正在使用UIWebView?我就是不明白。谢谢。