效果圖
diskcache.gif
用法示例
1.保存String
DiskCache
.getInstance(context)
.put("StringKey", "保存的String");
獲取String
String str = DiskCache
.getInstance(context)
.get("StringKey");
2.保存Object(任意實現(xiàn)Serializable的Object)
public class Person implements Serializable{
public Person(String name, String age){
this.name = name;
this.age = age;
}
public String name;
public String age;
}
Person person = new Person("張三", "18");
DiskCache
.getInstance(context)
.put("ObjectKey", person);
獲取Object
Person p = DiskCache
.getInstance(context)
.get("ObjectKey");
3.保存Bitmap
DiskCache
.getInstance(context)
.putBitmap("BitmapKey", bitmap);
獲取Bitmap
Bitmap bitmap = DiskCache
.getInstance(context)
.getBitmap("BitmapKey");
4.保存Drawable
DiskCache
.getInstance(context)
.putBitmap("DrawableKey", drawable);
獲取Drawable
Drawable drawable = DiskCache
.getInstance(context)
.getDrawable("DrawableKey");
默認(rèn)的緩存路徑: /sdcard/Android/data/(應(yīng)用包名)/cache/diskcache
默認(rèn)的緩存大谢韭住: 50M
該工具類使用了DiskLruCache网沾,所以要在build.gradle中添加:
dependencies {
implementation 'com.jakewharton:disklrucache:2.0.2'
}
具體實現(xiàn)方式請看 源碼