diff options
Diffstat (limited to 'main/src/cgeo/geocaching/utils/ImageUtils.java')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/ImageUtils.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/utils/ImageUtils.java b/main/src/cgeo/geocaching/utils/ImageUtils.java index eb91724..0d8bec8 100644 --- a/main/src/cgeo/geocaching/utils/ImageUtils.java +++ b/main/src/cgeo/geocaching/utils/ImageUtils.java @@ -32,6 +32,7 @@ public final class ImageUtils { }; private static final int[] ROTATION = new int[] { 90, 180, 270 }; + private static final int MAX_DISPLAY_IMAGE_XY = 800; private ImageUtils() { // Do not let this class be instantiated, this is a utility class. @@ -61,8 +62,9 @@ public final class ImageUtils { @Nullable public static Bitmap readAndScaleImageToFitDisplay(@NonNull final String filename) { Point displaySize = Compatibility.getDisplaySize(); - final int maxWidth = displaySize.x - 25; - final int maxHeight = displaySize.y - 25; + // Restrict image size to 800 x 800 to prevent OOM on tablets + final int maxWidth = Math.min(displaySize.x - 25, MAX_DISPLAY_IMAGE_XY); + final int maxHeight = Math.min(displaySize.y - 25, MAX_DISPLAY_IMAGE_XY); final Bitmap image = readDownsampledImage(filename, maxWidth, maxHeight); if (image == null) { return null; |
