ReuseableBitmapDrawable类在BitmapDrawable基础上增加了ReusableDrawable接口的实现。
ReusableDrawable接口的定义如下:
/** * Created by wyouflf on 15/10/20. * 使已被LruCache移除, 但还在被ImageView使用的Drawable可以再次被回收使用. */ /*package*/ interface ReusableDrawable { MemCacheKey getMemCacheKey(); void setMemCacheKey(MemCacheKey key); }顾名思义,就是可以被再次使用。
具体源码:
/*package*/ final class ReusableBitmapDrawable extends BitmapDrawable implements ReusableDrawable {
private MemCacheKey key;
public ReusableBitmapDrawable(Resources res, Bitmap bitmap) {
super(res, bitmap);
}
@Override
public MemCacheKey getMemCacheKey() {
return key;
}
@Override
public void setMemCacheKey(MemCacheKey key) {
this.key = key;
}
}
在BitmapDrawable基础上增加了一个接口的实现,还增加了一个私有属性MemCacheKey,用于标识该Drawable。