当前位置:  开发笔记 > IOS > 正文

iPhone - 内存泄漏 - NSData dataWithContentsOfUrl和UIWebView

如何解决《iPhone-内存泄漏-NSDatadataWithContentsOfUrl和UIWebView》经验,为你挑选了1个好方法。

请帮忙!一直盯着这个12个小时; 并已在线查找,无法找到解决方案.

在我的应用程序中,我在单独的页面/控制器中使用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"]];

(由于它全部使用便利功能,因此无需在此发布)

替代文字http://img.skitch.com/20081110-j5tn5n7ixph95ys4rpchibaw5p.preview.jpg

看图

2 - 运行它以验证没有泄漏(如预期的那样)

替代文字http://img.skitch.com/20081110-fy2qrkgy47hm4fe2f1aakd4muw.preview.jpg

看图

3 - 打开ViewController.xib,只需从库中添加一个UIWebView(无需连线)

替代文字http://img.skitch.com/20081110-d63c3yh1a1kqiciy73q8uyd68j.preview.jpg

看图

4 - 运行它以验证是否有泄漏!(为什么???)

替代文字http://img.skitch.com/20081110-qtxcfwntbcc3csabda3r6nfjg6.preview.jpg

看图

我究竟做错了什么?请帮忙!

如果我使用UIWebView,为什么NSData会导致内存泄漏?我只是不明白.谢谢.



1> Sam..:

我也遇到dataWithContentsOfURL:了iPhone模拟器中NSData漏洞的问题.我发现当我使用其他方便方法(dataWithContentsOfURL:options:error:)时,我不会得到内存泄漏.

我的代码看起来像这样:

NSURL *url = [NSURL URLWithString:urlString];
NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:url
                                     options:0
                                       error:&error];

链接到文档

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有