小编nik*_*rom的帖子

AFNetworking图像缓存在内存警告时不会清空

我有一个图像繁重的应用程序,我使用UIImageView + AFNetworking类别下载图像.

我注意到随着我加载越来越多的图像,我的内存占用量将继续增加.当我最终收到内存通知时,它没有释放任何内存 - 因此应用程序崩溃了.我对此的理解是,AFNetworking使用NSCache被调用的子类,AFImageCache它应该自己处理内存警告.链接1 链接2

有了一些肮脏的黑客攻击,我手动清除了共享缓存中的所有对象,并看到了内存分配的显着减少.如果不手动执行此调用,这似乎永远不会发生.

分配工具

我在一个简单的应用程序中复制了这个,它下载了Imgur的首页并在简单的tableview中显示它.上面你可以看到为applpication完成的分配分析.

我试图删除任何花哨的东西,代码在某些地方很乱.它不包括我的脏黑客,所以它只是死于内存警告.你可以在这里看到应用程序.

您需要在imgur上设置应用程序才能使用它.

阅读github问题Mattt似乎表明它应该足够并且完全自我维护,只要你为你传入的NSURLRequest设置适当的缓存策略.我可能会遗漏一些东西,但我不确定我会采用什么缓存策略组.这一切似乎都在考虑改变图像而不是为了记忆而清除图像.

我也认为谎言在这个问题中触及了同样的问题,除非设置了totalCostLimit,否则缓存不会自我清理.虽然我不相信在这种情况下使用模拟器与模拟内存警告配对,但症状是相同的.

我很感激任何帮助调试这个

编辑

添加建议的代码后的分析更新

在此输入图像描述

memory caching objective-c ios afnetworking

8
推荐指数
1
解决办法
4096
查看次数

Django OS X错误的JPEG库版本:库是80,调用者期望62 sorl.thumbnail

我在我的Mac上使用本地django的sorl.thumbnail并且一直遇到PIL问题,但今天我终于设法安装了它 - 与libjpeg有些麻烦.

我现在可以上传和使用图像 - 但是我无法使用sorl.thumbnail调整它们的大小.

当我尝试我得到以下错误:

Wrong JPEG library version: library is 80, caller expects 62
Run Code Online (Sandbox Code Playgroud)

有谁知道一个很好的解决方案.

我不知道无论sorl使用什么都需要早期版本的libjpeg或者还有一些幽灵安装的东西仍然留在我的所有尝试用各种方法.

我有 :

  1. PIL 1.1.7
  2. libjpeg 8.

有谁知道一种方法?

libjpeg sorl-thumbnail python-imaging-library

3
推荐指数
1
解决办法
4802
查看次数