From cefb679432db771187c64ae4fc0e4626d5a2c59a Mon Sep 17 00:00:00 2001 From: Alexander Sergeev Date: Sun, 17 Sep 2017 16:51:45 +0300 Subject: [PATCH] Fix crash OutOfMemoryError. (#103) --- .../java/fr/bamlab/rnimageresizer/ImageResizer.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/fr/bamlab/rnimageresizer/ImageResizer.java b/android/src/main/java/fr/bamlab/rnimageresizer/ImageResizer.java index 1046bb3..597a3cd 100644 --- a/android/src/main/java/fr/bamlab/rnimageresizer/ImageResizer.java +++ b/android/src/main/java/fr/bamlab/rnimageresizer/ImageResizer.java @@ -45,7 +45,11 @@ class ImageResizer { int finalWidth = (int) (width * ratio); int finalHeight = (int) (height * ratio); - newImage = Bitmap.createScaledBitmap(image, finalWidth, finalHeight, true); + try { + newImage = Bitmap.createScaledBitmap(image, finalWidth, finalHeight, true); + } catch (OutOfMemoryError e) { + return null; + } } return newImage; @@ -60,7 +64,11 @@ class ImageResizer { Matrix matrix = new Matrix(); matrix.postRotate(angle); - retVal = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); + try { + retVal = Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); + } catch (OutOfMemoryError e) { + return null; + } return retVal; }