В Android-эмуляторе, когда я выхожу из своего приложения и запускаю его сразу, я получаю
OutOfMemoryError: bitmap size exceeds VM budget.
Но на самом устройстве этого не происходит. Почему?
В Android-эмуляторе, когда я выхожу из своего приложения и запускаю его сразу, я получаю
OutOfMemoryError: bitmap size exceeds VM budget.
Но на самом устройстве этого не происходит. Почему?
В эмуляторе размер максимальной кучи по умолчанию составляет около 13 МБ.
На устройстве это зависит от телефона и версии Android. На моем Motorola Droid максимальный размер кучи составляет около 21-22 МБ, а на моем HTC Desire - около 32 МБ.
Вот почему у вас авария на эмуляторе, а не на вашем устройстве.
Если вы хотите контролировать размер кучи приложения, вы можете вызвать аналогичный метод:
protected void displayMemoryUsage(String message) {
int usedKBytes = (int) (Debug.getNativeHeapAllocatedSize() / 1024L);
String usedMegsString = String.format("%s - usedMemory = Memory Used: %d KB", message, usedKBytes);
Log.d(TAG, usedMegsString);
}
Увеличьте ОЗУ AVD и максимальный размер кучи VM-VM в опциях VM.
Для этого перейдите к
Окно → AVD Manager → Виртуальные устройства → Изменить.
Вам нужно увеличить размер кучи для эмулятора - это сработало для меня я увеличил его от от 16 М до 32 М
Вот ленив, как найти варианты манипулирования heapsize для эмулятора от Andriod studio 1.2.0
Возможно, это потому, что у вас на устройстве больше памяти, чем у вашего эмулятора. Этот вопрос SO показывает вам, как увеличить размер вашего эмулятора.
Кроме того, вы можете увеличить размер кучи Java VM.
Увеличьте размер выделенной памяти...