Acache类下载地址:http://pan.baidu.com/s/1gfI0A9X
1、创建Acache实例
Acache acache;
acache = Acache.get(this, “main”);
2、将数据保存起来(内存和文件)
acache.put(key,value,time);
前两个无需赘述,键值对,最后一个time,传入int类型,单位为秒,代表缓存存在的时间,超出这个时间,就会清除掉缓存的数据。
3、获取缓存的数据
以一个例子来描述这个问题:
代码如下 | 复制代码 |
public class MainActivity extends Activity { private ImageView img; Acache acache; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); acache = Acache.get(this, "main"); img = (ImageView) findViewById(R.id.img); if (acache.getAsBitmap("pic") != null) { Log.e("acache","正在使用缓存!"); img.setImageBitmap(acache.getAsBitmap("pic")); } else { Picasso.with(this).load("http://www.b.hsgjxt.com/image/cache/data/0-100x100.jpg").into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { Log.e("Picasso","正在使用Picasso!"); img.setImageBitmap(bitmap); acache.put("pic", bitmap, 10); } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { } }); } } } |
当我第一次进入的时候,控制台打印如下:
开发之使用Acache类对数据进行二级缓存(内存+文件)-primocache二级缓存">
当我立即退出又进去,打印如下:
当我延迟了十秒左右再进去,又提示如下:
这样可以证明缓存可用,并且缓存的时间也有效果。
时间: 2024-07-30 10:53:39