尝试调试我的应用,但我的记忆力不断增加。
我有一个应用程序,它通过AFNetworking从Web服务中提取JSON。我使用UIKit + AFNetworking来加载我从UIImageView中的JSON获得的URL字符串,这些字符串位于自定义XIB表格单元格中。我使用setImageForURL
。
当我加载新的JSON并因此加载新的图像URL时,我的内存使用量每次增加2-7 mb。旧的图像在UI中被新的替换。实时内存使用率上升。我查看了持有JSON的数组等等 - 没有泄漏。
我怀疑有一些图像缓存正在进行,但在使用带有setImageWithURL
的UIImageView时,我从未见过有关图像缓存的任何信息。我使用imageNamed
看到了内存问题。
setImageWithURL
是否与imageNamed
有相同的内存问题?
答案 0 :(得分:0)
setImageWithURL:
处理使用此方法下载的图像的缓存。下次你为同一个URL调用它时,它将首先检查缓存以查看图像是否被缓存(因此不需要再次访问网络)。
来自AFNetworking API:
从指定的URL异步下载图像并进行设置 一旦请求完成。任何以前的图像请求 接收器将被取消。如果图像在本地缓存,则 立即设置图像,否则指定占位符图像 将立即设置,然后远程图像将被设置一次 请求已完成。默认情况下,网址请求为
Accept
标题字段值为“image / *”,缓存策略为NSURLCacheStorageAllowed
,超时间隔为30秒,和 设置不处理cookie。要以不同方式配置URL请求,请使用setImageWithURLRequest:placeholderImage:success:failure:
所以确实有缓存,因此内存使用。
希望它有所帮助。