1. 程式人生 > >Glide作為圖片快取,清除快取的合理方法

Glide作為圖片快取,清除快取的合理方法

1.glide提供的方法:
下面是glide快取的配置
public class GlideCache implements GlideModule {
    @Override
public void applyOptions(Context context, GlideBuilder builder) {
        //設定圖片的顯示格式ARGB_8888(指圖片大小為32bit)
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
//設定磁碟快取目錄(和建立的快取目錄相同)
String downloadDirectoryPath = Config.CacheImagePath
+ "GlideCache"; //設定快取的大小為100M int cacheSize = 100 * 1000 * 1000; builder.setDiskCache(new DiskLruCacheFactory(downloadDirectoryPath, cacheSize)); } @Override public void registerComponents(Context context, Glide glide) { } }

Glide.get(SettingActivity.this).clearDiskCache();
使用該方法可以安全的解決刪除圖片快取
2.直接刪除glide資料夾 簡單粗暴刪除
// 按目錄刪除資料夾檔案方法
public static boolean deleteFolderFile(String filePath, boolean deleteThisPath) {
   try {
      File file = new File(filePath);
      if (file.isDirectory()) {
         File files[] = file.listFiles();
         for (File file1 : files) {
            deleteFolderFile(file1.getAbsolutePath(), true
); } } if (deleteThisPath) { if (!file.isDirectory()) { file.delete(); } else { if (file.listFiles().length == 0) { file.delete(); } } } return true; } catch (Exception e) { e.printStackTrace(); return false; } }

使用該方法 雖然可以刪除資料夾 但是會出現 頁面的圖片無法顯示了glide載入圖片異常了 必須重新啟動程式
所以該方法是不建議使用的
總結:
但是有時候我們圖片資料夾快取可能不只glide一個資料夾 
可以特殊處理對於父類檔案除了glide的直接刪除 glide的快取推薦使用第一種glide方法刪除
// 按目錄刪除資料夾檔案方法除了except
public static boolean deleteFolderFile(String filePath, boolean deleteThisPath,String except) {
   try {
      File file = new File(filePath);
      if (file.isDirectory()) {
         File files[] = file.listFiles();
         for (File file1 : files) {
            if(!file1.getAbsolutePath().equals(except)) {
               deleteFolderFile(file1.getAbsolutePath(), true);
}
         }
      }
      if (deleteThisPath) {
         if (!file.isDirectory()) {
            file.delete();
} else {
            if (file.listFiles().length == 0) {
               file.delete();
}
         }
      }
      return true;
} catch (Exception e) {
      e.printStackTrace();
      return false;
}
}

相關推薦

Glide作為圖片快取,清除快取合理方法

1.glide提供的方法: 下面是glide快取的配置 public class GlideCache implements GlideModule { @Override public void applyOptions(Context context, Glid

Glide 快取工具例子,快取大小獲取,磁碟快取清除(2 種方法),記憶體快取清除

Glide 快取 Simple快取路徑的指定快取大小的獲取磁碟快取清除(兩種方法)記憶體快取清除可 clone 之後檢視使用 SimpleGlide cache Simple.The cache path specifiedThe cache sizeThe disk cache (two ways)Memo

Glide圖片非同步載入快取庫)的方法介紹

文章來源:http://blog.csdn.net/u011733020/article/details/52319283  Glide 在開源中國上的介紹 Glide 的詳細介紹:請點這裡Glide 的下載地址:請點這裡 Glide :

載入大圖片到記憶體的合理方法

圖形影象處理 先明確幾個概念。 1.關於單位:計算機中最小單位是位元bit,即一個0或者一個1,計 算機儲存檔案是以byte為單位,byte是位元組等於8個位元。 1M=1024kb;1kb=1024byte;1byte=8bit; 2.計算機如何表示圖形:以畫素為單位,組

Glide快取圖片清除快取,百度地圖定位

1.匯入百度地圖jar包與jniLibs檔案,獲取到appId 2.清單檔案 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.c

Nginx 反向代理並快取快取清除方法

本文介紹了Nginx 反向代理並快取及快取清除的方法,分享給大家,具體如下: 一. Nginx 配置 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

圖片載入及快取框架Glide在安卓開發中的應用

注意四種磁碟快取機制 修改Glide預設的網路請求庫 監聽圖片的載入進度 自定義快取的設定 如何清理快取:清理快取:包括清理記憶體快取、清理磁碟快取(開啟子執行緒) 實現圖形轉換(需要自定義類) Glide載入圖片的特點: 優點是比picasso載入的快,使用者體驗比較好

cornerstone清除快取方法

轉自:http://www.jianshu.com/p/a81502f53c98 cornerstone出錯經常是因為快取的問題造成了,今天介紹下cornerstone清除快取的方法。 1. Quit Cornerstone 2. Open Terminal 3. Copy paste the foll

Android Glide快取清除與獲取快取大小

不多說了,還是直接上程式碼吧 /** * Created by zhaoyong on 2016/6/21. * Glide快取工具類 */ public class ImageCatchUtil { private static ImageCatchUtil inst; priva

Android平滑圖片載入和快取Glide 使用詳解

一、簡介在泰國舉行的谷歌開發者論壇上,谷歌為我們介紹了一個名叫 Glide的圖片載入庫,作者是bumptech。這個庫被廣泛的運用在google的開源專案中,包括2014年google I/O大會上釋出的官方app。二、 使用dependencies {    compile

Glide圖片載入神器----官方庫wiki說明文件的翻譯(快取快取校驗)

快取校驗是一個相對複雜的話題和概念,應該儘量少去考慮。本篇幅將給出一個在Glide中如何生成cache key大致的方案,並且如何讓快取更好的為你工作給一些建議提醒。 Cache Keys: 在Glide中Cache Keys用於DiskCacheS

Magento清除快取(clear cache)和建立快取(create cache)的方法

相信很多童鞋在做專案時常常會進行快取的儲存,這些快取有利也有弊,有時可能會出現當你做完一個功能的時候明明做的是對的,但是結果卻不是想要的,那麼這個時候就有可能是快取在作怪,可以通過手動清除快取,在magento後臺清除快取的位置在System->Cache

js清除瀏覽器快取的幾種方法(專案總結)

以前很少關注這方面的問題,直達我們的技術經理找我們說要換框架,為什麼換框架呢,因為快取的問題,原來的專案是用版本號作為重新整理的依據的。因為微信 公眾號上有這樣一個機制,使用版本好的話,有時做不到及時重新整理,所以就用了vue.js,因為它有這樣的功能就是如果某個檔案裡面的

Android平滑圖片載入和快取Glide使用詳解

在圖片載入庫爛大街的今天,選擇一個適合自己使用的圖片載入庫已經成為了每一個Android開發者的必經之路。現在市面上知名的圖片載入庫有UIL,Picasso,Volley ImageLoader,Fresco以及我們今天的主角Glide。它們各有千秋,不能評定誰

Glide清除快取

import android.content.Context; import android.os.Looper; import android.text.TextUtils; import com.bumptech.glide.Glide; import com.bumptech.glide.load.e

html禁止清除input文字輸入快取的兩種方法

有時候瀏覽器有很多快取,我們就執行不了某種操作,必須要清除快取才可以執行,其實多數瀏覽器預設會快取input的值,只有使用ctl+F5強制重新整理的才可以清除快取記錄。如果不想讓瀏覽器快取input的值,有兩種方法,請如下文 多數瀏覽器預設會快取input的值,只有

清除快取圖片

local _path = cc.FileUtils:getInstance():getWritablePath() .. "FaceID/" .. gameManager.userInfo.dwUserID .. ".png" cc.Director:getInstan

關於Glide——一個高效的圖片載入和快取類庫

最近應用經常出現OOM的問題,於是圖片載入的方式由原來的ImageLoader變成了Glide。我也是跟著導師慢慢的學習瞭解,有不對的地方歡迎指正。 首先,我發現Glide的一個限制性,也就是Glide只能用於ImageView,這是一個不好的地方,但是除了這個基本上都是好

微信清除快取的兩種方法

網址清除 點選“清除”按鈕即可。 程式碼清除 如果是自己寫的網頁,在除錯階段希望不要快取,可以在html頁面的head中加入如下程式碼: <meta http-equiv="Cache-Control" content="no-cach

js清除瀏覽器快取的幾種方法

一、CSS和JS為什麼帶引數(形如.css?t=與.js?t=)怎樣獲取程式碼 css和js帶引數(形如.css?t=與.js?t=) 使用引數有兩種可能: 第一、指令碼並不存在,而是服務端動態生成的,因此帶了個版本號,以示區別。 即上面程式碼對於檔案來