16
A
回答
15
我個人認爲SDWebImage是最好的,因爲它是絕對的努力解決方案,並提供了最簡單的緩存處理機制,因爲它只是UIImageView類的擴展。
11
圖像異步下載和緩存不是一項簡單的任務。它需要做得好,否則它會打敗它的目的。所以我強烈建議你最終建立自己的。話雖如此,我需要一個快速而簡單的解決方案,以推進應用程序的開發。
我發現這些解決方案:
- HJCache
- SDWebImage
- 蘋果LazyTableImages
- 從蘋果公司的LazyTableImages的適應,MHLazyTableImages
我試過HJCache,但是事實並非如此在提供很好的滾動性能時處理大圖像(1.5M +)。對於小圖像,它的工作很好,但。嘗試了兩個LazyTableImages,但整合並不簡單。
最終,我選擇了SDWebImage。整合不可能更簡單。將圖書館鏈接到項目後,您只需要:
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
在您的tableView:cellForRowAtIndexPath:
中。
此外:
- 工程與定製單元以及
- 不會阻塞UI
- 提供了巨大的滾動性能
- 圖片下載和緩存是無縫的。
0
我試過使用SDWebImage。
同意這很容易整合。
然而,這個庫的一個大問題是它沒有兌現「最大年齡」緩存控制。
圖書館仍在開發中,但他們沒有選擇這個限制。
2
也試試APSmartStorage。它會自動將UIImage/NSData緩存在磁盤或內存中。
它有可愛的塊式API;
// setup data parsing block
APSmartStorage.sharedInstance.parsingBlock = ^(NSData *data, NSURL *url)
{
return [UIImage imageWithData:data scale:UIScreen.mainScreen.scale];
};
...
// show some progress/activity
...
// load object with URL
[APSmartStorage.sharedInstance loadObjectWithURL:imageURL callback:(id object, NSError *error)
{
// hide progress/activity
if (error)
{
// show error
}
else
{
// do something with object
}
}];
這是相當聰明,還是簡單:
1
有跡象表明,解決這個問題的多個框架。僅舉幾例:
斯威夫特:
的Objective-C:
0
我強烈建議你嘗試Kingfisher和SDWebImage。兩者都適用於從網絡下載和緩存圖像。
相關問題
- 1. iOS:圖像庫的最佳方法[圖像緩存]
- 2. 如何在使用2個緩存庫時管理ios中的圖像緩存
- 3. iOS - 緩存遠程圖像
- 4. iOS - 優化。緩存圖像
- 5. IOS - 保存或緩存的drawRect圖像
- 6. iOS - 緩存圖像和管理存儲
- 7. 緩存iOS上的圖像/數據點
- 8. 圖庫中的圖像緩存
- 9. 適用於iOS的基於塊的圖像緩存庫
- 10. iOS緩存在哪裏?
- 11. iOS圖像沒有正確緩存
- 12. 緩存數據庫中的圖像
- 13. 圖像緩存
- 14. 緩存圖像
- 15. 緩存圖像
- 16. 如何緩存整個網頁與iOS中的圖像
- 17. iOS圖像緩存與內存中的圖像的自定義計數
- 18. magento在哪裏存儲其緩存的圖像?
- 19. django緩存鍵屬於哪個視圖?
- 20. 圖像緩存表
- 21. Apache緩存圖像
- 22. JWPlayer緩存圖像
- 23. base64圖像緩存?
- 24. Django:緩存圖像
- 25. 圖像緩存8.1
- 26. iPhone圖像緩存
- 27. Xcode:SDWebImage清除緩存的單個圖像
- 28. 有人可以建議一個好的圖像緩存庫嗎?
- 29. JxBrowser - 保存緩存圖像
- 30. 存儲緩存圖像
[ZDS_Shared](https://github.com/ZarraStudios/ZDS_Shared)具有帶寬限制功能,但沒有同步請求(也就是說,緩存未決時,它將返回零資源)。它適用於操作隊列,所以我想你可以用NSInvocation來添加一個調用。 – Jano