diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PanoramaActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PanoramaActivity.kt index f88c7c960..8587ec957 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PanoramaActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/PanoramaActivity.kt @@ -129,8 +129,20 @@ open class PanoramaActivity : SimpleActivity() { setupButtonMargins() } - private fun getBitmapToLoad(path: String): Bitmap { - val bitmap = BitmapFactory.decodeFile(path) + private fun getBitmapToLoad(path: String): Bitmap? { + val options = BitmapFactory.Options() + options.inSampleSize = 1 + var bitmap: Bitmap? = null + + for (i in 0..10) { + try { + bitmap = BitmapFactory.decodeFile(path, options) + break + } catch (e: OutOfMemoryError) { + options.inSampleSize *= 2 + } + } + return bitmap }