Adjusted how large bitmaps are scaled to keep bigger images around

pull/14/head
Sam Bosley 11 years ago
parent d77cd2a0df
commit 72aa5c61b6

@ -122,18 +122,19 @@ public class AndroidUtilities {
/** Read a bitmap from the specified file, scaling if necessary
* Returns null if scaling failed after several tries */
private static final int[] SAMPLE_SIZES = { 1, 2, 4, 6, 8, 10 };
public static Bitmap readScaledBitmap(String file) {
Bitmap bitmap = null;
int tries = 1;
int tries = 0;
BitmapFactory.Options opts = new BitmapFactory.Options();
while(bitmap == null && tries < 32) {
opts.inSampleSize = tries;
while(bitmap == null && tries < SAMPLE_SIZES.length) {
opts.inSampleSize = SAMPLE_SIZES[tries];
try {
bitmap = BitmapFactory.decodeFile(file, opts);
} catch (OutOfMemoryError e) {
// Too big
}
tries = tries * 2;
tries++;
}
return bitmap;

Loading…
Cancel
Save