Моя программа работает очень хорошо, и тогда я всегда сталкиваюсь со случайной ошибкой сбоя (например, ошибка надувания класса), которая почти всегда запускается с помощью OutOfMemoryError.
Я наблюдал за своей кучей виртуальных машин в DDMS, и она выглядитgc выполняет свою работу, так как я буду наблюдать, как %used
поднимается и опускается вместе с #Objects
. Я заметил, что получаю сбой, когда у меня есть близкие к этим показателям:
Heap Size 11.820 MB
Allocated 7.020 MB
Free 4.801 MB
% Used 59.39%
# Objects 148,927
Это примерно пик использования устройства.Иногда здесь происходит сбой, но иногда это позволяет мне перейти к другой категории, которая позволяет GC выполнять свою работу, снижая %used
до 32%.Тем не менее, я обычно вылетаю вскоре после того, как использование не работает.
Я обычно выхожу из строя с цепочкой ошибок.Самая верхняя ошибка Caused by:
обычно имеет вид Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
. Я не уверен, куда идти дальше, поскольку устройство выглядит нормально на ресурсах при сбое, но жалуется на нехватку памяти.Я попытался запустить программу без изображений, и я все еще получаю приложение, которое вылетает.Независимо от того, где я должен начать искать, чтобы найти виновника ?
** РЕДАКТИРОВАТЬ **
Kindle Fire на Android 2.3.4 через Eclipse