美文网首页安卓开发博客Android开发Android开发经验谈
DiskCache -- 一个封装DiskLruCache的缓存

DiskCache -- 一个封装DiskLruCache的缓存

作者: 雷l阵l雨 | 来源:发表于2018-03-10 19:20 被阅读101次

效果图

diskcache.gif

用法示例

1.保存String

DiskCache
    .getInstance(context)
    .put("StringKey", "保存的String");

获取String

String str = DiskCache
    .getInstance(context)
    .get("StringKey");

2.保存Object(任意实现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");

默认的缓存路径: /sdcard/Android/data/(应用包名)/cache/diskcache
默认的缓存大小: 50M
该工具类使用了DiskLruCache,所以要在build.gradle中添加:
dependencies {
implementation 'com.jakewharton:disklrucache:2.0.2'
}

具体实现方式请看 源码

欢迎关注.jpg

相关文章

网友评论

    本文标题:DiskCache -- 一个封装DiskLruCache的缓存

    本文链接:https://www.haomeiwen.com/subject/avybfftx.html