android圖片緩存



博客分類:  android
Java代碼  收藏代碼
  1. 後來在外國佬的網站上發現了這個方法  
  2.   
  3. // 從網絡獲取圖片並緩存,緩存與瀏覽器共享  
  4. URL url = new URL(imageURL);  
  5. URLConnection connection = url.openConnection();  
  6. connection.setUseCaches(true);  
  7. Bitmap bitmap = BitmapFactory.decodeStream((InputStream) connection.getContent());  
  8.   
  9. 但實驗證明,上面方法緩存的圖片都需一定的網絡支持才能快速加載;  
  10. 下面的方法更好,在緩存了之後,即使網絡很差,也能立即拿到圖片  
  11.   
  12. 下面是另外一篇文章  
  13. [轉]  
  14. 目前很多商業應用都會涉及到從網絡上讀取圖片數據的問題,爲了節約用戶流量,應用一般會將圖片緩存起來。圖片緩存一般分爲內存緩存和外存緩存。內存 緩存運用java的緩存機制,在程序完全退出後,緩存所在的內存空間可能被其它應用程序佔用從而丟失。外存緩存一般放在程序特有的訪問空間或者sd卡中, 在sd卡中存放的資源爲公有資源,其它程序也可以訪問,且對用戶來講沒有一個強制清除緩存的規範機制。綜合以上,本文采用將緩存圖片放置在程序的特有空間 中, 其它應用程序無法訪問,且用戶可以在應用程序管理中的"清除數據"選項中清除緩存。   
  15.       本文提供三種緩存策略:(1)LRU算法,固定緩存圖片數量(max_num),當圖片數量超出max_num時,將緩存中最近用的最少的圖片刪除。 (2)FTU算法,固定每張圖片的緩存時限,以最後一次使用算起,超過時限後刪除。(3)FMU算法,在存儲器中固定一定大小的存儲空間,超過固定空間後 將緩存中佔用最大尺寸的圖片刪除。使用時只需要向方法體中傳遞圖片的URL即可。  
  16.    
  17. 使用方法:  
  18.     1.導入jar;  
  19.     2. 獲取服務;  
  20.     3.提交url,交給程序去判斷是否下載。  
  21.   
  22. 附件爲可運行的項目,帶了jar 
發佈了11 篇原創文章 · 獲贊 2 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章