1、創建一個名為MyGlideModule公共類,使其繼承GlideModule,操作步驟如下:
public class MyGlideModule implements GlideModule{?
? @Override
public void applyOptions(Context context, GlideBuilder glideBuilder) {
//緩存大小
int CacheSize =200*1024*1024;//設置內存緩存glideBuilder.setMemoryCache(newLruResourceCache(CacheSize ));//設置內存緩存glideBuilder.setDiskCache(newInternalCacheDiskCacheFactory(context,CacheSize ));//設置磁盤緩存 ? ? ?glideBuilder.setDiskCache(newExternalCacheDiskCacheFactory(context,CacheSize ));//自定義磁盤緩存到指定目錄//圖片緩存的路徑
StringdiskCachePath = KangConfigPreference.getInstance().getImagePath(); ? //磁盤緩存路徑
? DiskLruCacheFactory diskLruCacheFactory =newDiskLruCacheFactory(diskCachePath, diskCacheSize); ? ? ? ? //設置自定義磁盤緩存
glideBuilder.setDiskCache(diskLruCacheFactory );? ? ?
} ?}
注意:(1)MemoryCache為內存緩存,內存緩存是在設備的RAM(內存)中去維護圖片的。這里沒有IO行為,所以這個操作是很快的。
(2)DiskCache為磁盤緩存,它可以位于應用的私有目錄,也就是說,除了它自己,外部應用是訪問不到的;也可以位于外部存儲,公有目錄,但是這兩個不能同時設置。而Glide為這兩項提供了它的實現:InternalCacheDiskCacheFactory和ExternalCacheDiskCacheFactory。
InternalCacheDiskCacheFactory將設置磁盤緩存到應用的內部目錄。
ExternalCacheDiskCacheFactory將設置磁盤緩存到外部存儲。
如果你想要將磁盤緩存到指定的目錄,那么你需要使用DiskLruCacheFactory。(上面代碼中提到)
2、如以上配置需要全局生效,還需要在mainfest文件中去注冊該GlideModule。
在application內添加如下代碼: ? ?
? ? ?<meta-data
? ? ? ? ? android:name="com.glide.demo.GenrateGlideModule"
? ? ? ? ? android:value="GlideModule"
? ? ?/>
此時,使用Glide-Module圖片緩存的配置就完成了,謝謝觀看。
引用參考:http://www.cnblogs.com/whoislcj/p/5565012.html