Universal-Image-Loader完全解析--- 圖片緩存策略詳解

jopen 9年前發布 | 7K 次閱讀 Android開發 移動開發

內存緩存

Universal-Image-Loader有哪些內存緩存策略

1. 只使用的是強引用緩存 

  • LruMemoryCache(這個類就是這個開源框架默認的內存緩存類,緩存的是bitmap的強引用,下面我會從源碼上面分析這個類)

2.使用強引用和弱引用相結合的緩存有

  • UsingFreqLimitedMemoryCache(如果緩存的圖片總量超過限定值,先刪除使用頻率最小的bitmap)

  • LRULimitedMemoryCache(這個也是使用的lru算法,和LruMemoryCache不同的是,他緩存的是bitmap的弱引用)

  • FIFOLimitedMemoryCache(先進先出的緩存策略,當超過設定值,先刪除最先加入緩存的bitmap)

  • LargestLimitedMemoryCache(當超過緩存限定值,先刪除最大的bitmap對象)

  • LimitedAgeMemoryCache(當 bitmap加入緩存中的時間超過我們設定的值,將其刪除)

3.只使用弱引用緩存

  • WeakMemoryCache(這個類緩存bitmap的總大小沒有限制,唯一不足的地方就是不穩定,緩存的圖片容易被回收掉)

硬盤緩存


接下來就給大家分析分析硬盤緩存的策略,這個框架也提供了幾種常見的緩存策略,當然如果你覺得都不符合你的要求,你也可以自己去擴展

  • FileCountLimitedDiscCache(可以設定緩存圖片的個數,當超過設定值,刪除掉最先加入到硬盤的文件)

  • LimitedAgeDiscCache(設定文件存活的最長時間,當超過這個值,就刪除該文件)

  • TotalSizeLimitedDiscCache(設定緩存bitmap的最大值,當超過這個值,刪除最先加入到硬盤的文件)

  • UnlimitedDiscCache(這個緩存類沒有任何的限制)


來自: http://my.oschina.net/supsky/blog/540257

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!