我已經開始編寫圖像庫從網上下載圖像。有一次,我下載了一張圖像,並將其設置在圖像字典中(我確保此字典中的圖像數量不超過某個閾值數量,以避免內存使用量過多,因此在需要時刪除圖像)。之後,我使用方法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