我已经开始编写图像库从网上下载图像。有一次,我下载了一张图像,并将其设置在图像字典中(我确保此字典中的图像数量不超过某个阈值数量,以避免内存使用量过多,因此在需要时删除图像)。之后,我使用方法NSData
将该图像写入文件。 当请求图像时,我首先检查它是否存在于字典中,如果不存在,如果文件存在于使用[[NSFileManager defaultManager] fileExistsAtPath: uniquePath]
的路径中。如果它不在那里,我下载图像。所有这些都发生在设置为高优先级全局队列的异步队列中。但是,整个过程似乎仍然有点迟缓。可以在全局队列中异步使用磁盘读取和写入方法吗?另外,在这种情况下推荐使用磁盘缓存吗?如果我只在从内存条件低的字典中转储图像时才提交文件写入,它会加快速度吗?将下载的图像缓存到磁盘
0
A
回答
0
缓存在SDWebImage Framework中变得容易。它默认支持缓存。
+0
是的...我知道SDWebImage,我从来没有使用过它,我只使用了EGOImageView,并且它支持缓存。但是,我正在写自己的图书馆,只是为了学习的目的。 – 2013-02-25 11:41:51
0
缓存东西最简单的方法就是使用苹果自己的NSURLCache。刚才看了这个链接:http://nshipster.com/nsurlcache/
基本上你需要把它添加到您applicationDidFinishLaunching...
let URLCache = NSURLCache(memoryCapacity: 4 * 1024 * 1024, diskCapacity: 20 * 1024 * 1024, diskPath: nil)
NSURLCache.setSharedURLCache(URLCache)
相关问题
- 1. 将图像缓存到磁盘
- 2. iphone - 将图像存储到磁盘
- 3. 如何将图像保存到磁盘
- 4. 用WinJS将图像保存到磁盘
- 5. Silverlight - 将已下载的映像保存到磁盘
- 6. 直接使用retriveImage()将图像缓存到磁盘?
- 7. 编写一个缓冲图像缓存并将其保存到磁盘
- 8. NSMutableDictionary和缓存到磁盘
- 9. UIWebview缓存到磁盘
- 10. 将图像保存到磁盘并加载它们
- 11. 毕加索:从磁盘加载缓存图像太慢
- 12. 下载并保存文件到磁盘
- 13. 将映像缓存到Azure CDN而不是磁盘
- 14. 如何强制将映像添加到磁盘缓存
- 15. 与glide同步加载图像并将其缓存在磁盘中
- 16. BLOB保存到磁盘图像C#
- 17. AFNetworking 3.0磁盘映像缓存
- 18. android下载/缓存图像
- 19. WebClient - 将下载的文件保存到磁盘
- 20. 不缓存到磁盘的浏览器
- 21. 将UIImage对象的系统缓存与从磁盘缓存(NSCachesDirectory)加载的图像配合使用?
- 22. 浏览器缓存或磁盘缓存?
- 23. 在磁盘上缓存位图Android
- 24. 使用Android Picasso预加载图像到内存/磁盘
- 25. 将trie保存到磁盘
- 26. 将nsdate保存到磁盘
- 27. 将DynamicMethod保存到磁盘
- 28. 下载工作簿而不将其保存到磁盘中rubyxl
- 29. Readyboost v磁盘缓存
- 30. 缓存磁盘操作
你如何下载图像从URL数据?通过使用异步URL连接或其他东西? – Exploring 2013-02-25 11:17:08
你可能会对这个库感兴趣 - > https://github.com/nicklockwood/AsyncImageView – borrrden 2013-02-25 11:19:31
我正在使用[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imageURLString]]]。但是这在全局队列中异步发生。 – 2013-02-25 11:40:39