Android: Quality loss when downscaling Bitmap
===

I'm getting an image (.png) from SQLiteDatabase and using this code to decode the bytearray into a bitmap:

    Options options = new BitmapFactory.Options();
    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    options.inDither = true;
    options.inScaled = true;
    options.inDensity = 240;
    options.inTargetDensity = metrics.densityDpi;
    Bitmap bmp = BitmapFactory.decodeStream(new ByteArrayInputStream(imageAsBytes), null, options);

As you can see in images (2) and (3), I'm having a huge quality loss when downscaling a bitmap:


1) ![Original][1] = Image with no scale (metrics.densityDpi = 240);

2) ![From drawable resource][2] = same .png above, but compiled in res/drawable;

3) ![From downscale][3] = Image with down scale (with metrics.densityDpi = 120);



I also tried `options.inDither = false;`, but I see no difference.

So what's wrong with my code? 




  [1]: http://i.stack.imgur.com/fkMVY.png
  [2]: http://i.stack.imgur.com/5dfIm.png
  [3]: http://i.stack.imgur.com/ox9B3.png