diff --git a/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java b/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java index b7e5642e9..1e8e5736f 100644 --- a/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java +++ b/app/src/main/java/protect/card_locker/BarcodeImageWriterTask.java @@ -21,6 +21,7 @@ import java.lang.ref.WeakReference; class BarcodeImageWriterTask extends AsyncTask { private static final String TAG = "LoyaltyCardLocker"; + private static final int MAX_WIDTH = 600; private final WeakReference imageViewReference; private final String cardId; @@ -37,7 +38,10 @@ class BarcodeImageWriterTask extends AsyncTask cardId = cardIdString; format = barcodeFormat; imageHeight = imageView.getHeight(); - imageWidth = imageView.getWidth(); + + // No matter how long the window is, there is only so much space + // needed for the barcode. Put a limit on it to reduce memory usage + imageWidth = Math.min(imageView.getWidth(), MAX_WIDTH); } public Bitmap doInBackground(Void... params)