有没有办法传递bitmap-config或强制这个BitmapConfig?我不想通过Transformation()来做,因为这会占用比需要更多的CPU,我不确定这是否在缓存之前完成(我做这个的主要原因是缓存中的图像不应该消耗那么多记忆)
答案 0 :(得分:56)
我找到了解决方案 - 毕加索2.2.0现在有一个API - 之前使用的是2.1.1,并且没有这方面的API。看起来像这样:
picasso.load(url).config(Bitmap.Config.RGB_565).into(target);
答案 1 :(得分:1)
我找到了一个很好的解决方案,非常好,100%
(抱歉,@ ligi的回答对我不起作用))
使用此util类进行任何毕加索位图更改(此处为RGB565)
注意也表示毕加索建立单身人士班
所以这只改变将涵盖所有其他(如果你不计划在任何地方使用RGB565)
import com.squareup.picasso.Transformation;
public class Config565Transformation implements Transformation {
@Override
public Bitmap transform(Bitmap source) {
Bitmap resultBitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(resultBitmap);
Paint paint = new Paint();
paint.setFilterBitmap(true);
canvas.drawBitmap(source, 0, 0, paint);
source.recycle();
return resultBitmap;
}
@Override
public String key() {
return Config565Transformation.class.getSimpleName();
}
}
并简单地使用它
Picasso.with(getContext())
.load(url)
.transform(new Config565Transformation())
.into(imageView);