It appears that BitmapFactory.decodeResource() is ignoring inScaled when inJustDecodeBounds is also "true".
In this snip of code:
Resources res = getResources ();
DisplayMetrics metrics = res.getDisplayMetrics ();
BitmapFactory.Options options = new BitmapFactory.Options ();
options.inScaled = true;
options.inDensity = DisplayMetrics.DENSITY_HIGH; // resolution of bitmap in resources
options.inTargetDensity = metrics.densityDpi; // screen resolution
options.inJustDecodeBounds = true;
Bitmap bitmap = BitmapFactory.decodeResource (res, srcId, options);
logD ("IVH decodeBitmapResource.1: " + options.outWidth + "," + options.outHeight + " - " + srcId);
options.inJustDecodeBounds = false;
bitmap = BitmapFactory.decodeResource (getResources(), srcId, options);
logD ("IVH decodeBitmapResource.2: " + options.outWidth + "," + options.outHeight + " - " + srcId);
I get the following output in my log file:
IVH decodeBitmapResource.1: 420,747 - 2130837613
IVH decodeBitmapResource.2: 840,1494 - 2130837613
All I did was change inJustDecodeBounds from true to false. What am I missing?