1
0
mirror of https://github.com/wasabeef/glide-transformations.git synced 2025-06-07 23:04:06 +08:00

Put the mask bitmap to the BitmapPool

put the mask bitmap to the BitmapPool when the mask is get from the
BitmapPool.
This commit is contained in:
start141 2015-09-14 19:56:51 +08:00
parent 46d5d4d72f
commit 831f038d29
2 changed files with 12 additions and 0 deletions

View File

@ -48,8 +48,10 @@ public class MaskTransformation implements Transformation<Bitmap> {
public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
Bitmap source = resource.get();
boolean maskFromBitmapPool = true;
Bitmap mask = mBitmapPool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
if (mask == null) {
maskFromBitmapPool = false;
mask = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
}
@ -76,6 +78,10 @@ public class MaskTransformation implements Transformation<Bitmap> {
source.getWidth(), source.getHeight()), null);
canvas.drawBitmap(source, 0, 0, paint);
if (maskFromBitmapPool) {
mBitmapPool.put(mask);
}
return BitmapResource.obtain(bitmap, mBitmapPool);
}

View File

@ -56,8 +56,10 @@ public class NinePatchMaskTransformation implements Transformation<Bitmap> {
int width = outWidth == Target.SIZE_ORIGINAL ? source.getWidth() : outWidth;
int height = outHeight == Target.SIZE_ORIGINAL ? source.getHeight() : outHeight;
boolean maskFromBitmapPool = true;
Bitmap mask = mBitmapPool.get(width, height, Bitmap.Config.ARGB_8888);
if (mask == null) {
maskFromBitmapPool = false;
mask = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
}
@ -84,6 +86,10 @@ public class NinePatchMaskTransformation implements Transformation<Bitmap> {
source.getWidth(), source.getHeight()), null);
canvas.drawBitmap(source, 0, 0, paint);
if (maskFromBitmapPool) {
mBitmapPool.put(mask);
}
return BitmapResource.obtain(bitmap, mBitmapPool);
}