【问题标题】:AFNetworking memory allocation keeps risingAFNetworking 内存分配不断上升
【发布时间】:2012-07-30 08:23:13
【问题描述】:

我正在制作一个应用程序,它将从网络服务中获取图片资源和文本。我选择了很棒的 AFNetworking 的 UIImageView+AFNetworking 类别来处理图片下载的东西。

但是,我遇到了内存问题。我使用了InstrumentsAllocation工具,发现每次加载更多图片时,内存分配总会增加,大小为1-2 MB。查了源码,原来是AFNetworking的代码。

具体的代码行是:

- (void)connectionDidFinishLoading:(NSURLConnection *)__unused connection {
    self.responseData = [self.outputStream propertyForKey:NSStreamDataWrittenToMemoryStreamKey];

    [self.outputStream close];

    [self finish];

    self.connection = nil;
}

这将占用 99.6% 的内存分配。

我在项目中使用 ARC,在 UITableView 中显示 UIImageViews 并像以下代码一样配置单元格:

[self.imageView setImageWithURLRequest:request
                          placeholderImage:nil
                                   success:successBlock
                                   failure:failBlock];

谁能提供一些关于内存问题的想法?真的很头疼,因为一旦分配了内存,即使我清除了整个图像视图,它们也永远不会被清除。一段时间后,我的应用程序将从 InstrumentsReal Memory Usage 窗口占用超过 100MB。

任何帮助将不胜感激!!提前致谢!!

【问题讨论】:

标签: ipad memory-management uiimageview afnetworking


【解决方案1】:

可以清除图片缓存。 github上有关于它的讨论:

AFNetworking Image Cache

这可能会也可能不会解决您的问题。我想定期清除缓存应该可以降低内存使用量。

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 2012-11-01
    • 2014-11-13
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 2019-10-08
    相关资源
    最近更新 更多