OutOfMemoryError - наиболее распространенная проблема, возникающая в Android, особенно при работе с растровыми изображениями. Эта ошибка генерируется виртуальной машиной Java (JVM), когда объект не может быть выделен из-за недостатка места в памяти, а также сборщик мусора не может освободить некоторое пространство.
Как упомянул Алексей, вы можете добавить нижеприведенные объекты в файл манифеста android:hardwareAccelerated="false"
, android:largeHeap="true"
, это будет работать для некоторых сред.
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
Вы должны обязательно прочитать некоторые из концепций разработчика Android, особенно здесь: Эффективное отображение растровых изображений
Прочитайте все 5 тем и перепишите свой код еще раз. Если это все еще не работает, мы будем рады видеть, что вы сделали неправильно с учебным материалом.
Вот некоторые из возможных ответов для ошибок такого типа в SOF
Android: BitmapFactory.decodeStream () не хватает памяти с файлом 400 КБ с 2 МБ свободной кучи
Как решить проблему с java.lang.OutOfMemoryError в Android
Android: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
Решение для OutOfMemoryError: размер растрового изображения превышает бюджет виртуальной машины