- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在后台线程中使用 NSData -initWithContentsOfURL 下载一些 4k 图像。我可以在 Instruments 中看到我的 CFData(存储)不断增长并增加到 200MB(顺便说一句,我崩溃了)尽管我使用这段代码来清除缓存
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
[sharedCache removeAllCachedResponses];
[sharedCache release];
我在 this question 中找到的
我确定导致此问题的代码部分(我对其进行了评论并且内存没有增长超过 50MB)是:
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
NSError *error = nil;
NSString *serverPath = [serverImageInfo valueForKey:@"ImagePath"];
NSData *image = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[serverPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]] options:NSDataReadingUncached error:&error];
NSString *directoryPath = [Utilities directorypath];
if (image != NULL && [image length] > 0)
{
//NSString *path = [[NSString alloc] initWithString:directoryPath];
NSString *path = [directoryPath stringByAppendingPathComponent:@"ArrangementImages"];
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
}
path = [path stringByAppendingPathComponent:imageInfo.Name];
[image writeToFile:path atomically:YES];
self.imageInfo.ImagePath = path;
[path release];
}
[sharedCache removeAllCachedResponses];
[sharedCache release];
//image = nil;
[image release];
最佳答案
我刚刚使用了 [sharedCache removeAllCachedResponses];结合自动释放池....虽然我下载了 4k 图像,但我的 cfdata(存储)并没有增加超过 15 MB。
关于ios - 在后台线程中通过 NSData -initWithContentsOfURL 下载图像时,CFData(存储)增加到 200MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16475590/
我目前正在从外部 API 读取一些 XML。 下面的代码工作正常: NSError *error = nil; NSString *xmlString = [[NSString alloc] init
我目前正在使用此代码从 URL 获取数据: NSURL *url = [[NSURL alloc] initWithString:urlstring]; NSString *stringfromFB
使用 initWithContentsOfURL 解析提要时如何设置超时。有时我们的提要会返回空白响应,然后它会尝试永远解析提要。我想设置 30 秒左右的超时,这样会弹出 UIAlertView,然后
在我的代码中,我在 UIWebview 中加载了一个 URL(一个 aspx 文件)。它加载并显示正常。 [webView loadRequest:requestObject]; 我想检查 iPhon
我正在更新一个 iOS 应用程序以成为一个好 child ,并清理一些已弃用的方法。我一直在使用 NSString initWithContentsOfURL,我正在尝试实现新版本 initWithC
基本上我要设置 内容类型:application/json; 为了调用 dot net web 服务并将 json 返回给 iphone 应用程序。 目前我有 NSString * jsonres =
我是新手,所以请耐心等待。我的问题出在以下代码中: AppleScriptController.h #import #import @interface AppleScriptCon
我每 5 秒使用计时器向我的服务器发送一次更新。作为响应,我从服务器收到一个 XML,我使用 NSXMLParser 解析它。 . MyParser 被设置为委托(delegate)并实现解析文档所需
我正在使用这一行来获取 URL 的内容: NSString *result=[[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:U
我正在尝试让 IUAlertview 显示加载应用程序时从网站提取的自定义消息。我可以控制该网站,所以我的想法是,如果我想更改消息,我可以只更改网站。今天早上我询问了如何更新个性化消息,结果就是这个想
我正在为我在 iOS7 开发中遇到的一个问题而苦思冥想。我使用以下代码从网络服务器加载图像: NSData* data = [[NSData alloc] initWithContentsOf
我正在从 xml 和图像加载一些文本,该图像的加载时间比 xml 长,但我想同时显示它们。 我正在使用加载图像 NSData *mydata = [[NSData alloc] initWithCon
我正在用自定义对象数组替换 NSMutableDictionary 对象数组。每个都有 15 个左右的实例变量需要持久化,还有一些是 transient 的。 我曾经使用 -initWithConte
执行以下代码时,当代码执行第二行代码时,我收到运行时错误。错误(显示在调试器中)显示: [NSButton initWithContentsOfURL:]: 无法识别的选择器发送到实例 0x10041
我目前在具有 keyPath“isCancelled”观察者的 NSOperation 中有以下代码: downloaded = FALSE; NSURL *url = [NSURL
我从我的站点获取数据: NSString *website = [NSString stringWithFormat:@"http://www.mysite.com/fbconnect.php?ema
我有一个服务器端 php 脚本,可以从 MySQL 表中获取结果。我正在尝试从 iPhone OS 应用程序中检索这些结果。我正在使用以下方法: NSURL *myURL = [NSURL URLWi
我有一个 iOS 应用程序正在为某些 XML 数据调用 Web 服务,如下所示: NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithConte
如何访问我放入 xCode 项目的支持文件文件夹中的 crashSound.wav 文件?因为以下代码不起作用: @interface Game() { // code... AVAu
有没有办法在以下情况下分配某种委托(delegate)对象 [[NSData alloc] initWithContentsOfUrl:... options:... errorPtr:...] 被调
我是一名优秀的程序员,十分优秀!