2015-09-16 2 views
1

Установите приоритет для потребления памяти для моего приложения на Android и избегайте java.lang.OutOfMemoryError.Как установить приоритет для потребления памяти в приложении Android?

Мое приложение - это приложение, которое будет работать на планшете, но для выполнения дешифрования файлов требуется вся возможная память.

+0

Try <приложение Android: largeHeap = "истинный" – pvllnspk

+1

"нужно всю возможную память, доступную для выполнения дешифрования файлов" - а затем использовать C/C++ и NDK для дешифрования , Даже если 'largeHeap' установлен в' true', вы сможете использовать небольшую часть ОЗУ на устройстве в своем приложении из Java. – CommonsWare

ответ

2

Добавить явить андроида: largeHeap = «истинный»https://developer.android.com/guide/topics/manifest/application-element.html#largeHeap

Это может помочь, если вы работаете из памяти, например - загрузка больших растровых изображений.

Из документации:

В особых ситуациях, вы можете запросить больший размер кучи, установив largeHeap атрибута «истина» в проявленном теге. Если вы это сделаете, вы можете вызвать getLargeMemoryClass(), чтобы получить оценку большого размера кучи.

Однако возможность запроса большой кучи предназначена только для небольшого набора приложений, которые могут оправдать необходимость потреблять больше ОЗУ (например, большое приложение для редактирования фотографий).

От: https://developer.android.com/training/articles/memory.html#CheckHowMuchMemory

+1

Проблема с большой кучей заключается в том, что нет спецификации, которая говорит, сколько MBs это. На разных устройствах вы получите разные «большие кучи» на одном устройстве, это может быть нормально, но на другом не может. Чтобы сказать, как решить авторскую проблему, нужно проверить, какая проблема у него действительно получилась :) Расшифровка не так потребляет память, что нужно «largeHeap», – Gaskoin

Смежные вопросы