Для начала, спасибо, что нашли время, чтобы просмотреть мой вопрос. В настоящее время у меня возникают проблемы с скачком памяти в разрабатываемом приложении.
Мое намерение состоит в том, чтобы иметь возможность загружать и обрабатывать большие объемы данных HTML, в настоящее время причина заключается в больших кодированных в base64 изображениях, вложенных в HTML, которые, как я понимаю, не идеальны для использования на мобильной платформе. Для справки, в настоящее время я тестирую на Samsung Galaxy S. Кроме того, эта проблема , а не возникает на Galaxy Nexus из-за большего выделения памяти под приложение.
Моя проблема заключается в том, что при обработке большого фрагмента данных HTML размером приблизительно 2,8 МБ, куча памяти увеличивается примерно до 27-29 МБ, но выделенная память никогда не выходит за пределы 18-19 МБ. Когда HTML был обработан, сохранен и отображен, выделенная память возвращается к 3-4 МБ. Если бы я должен был затем загрузить и обработать этот HTML снова, процесс повторяется, и я получаю то же самое использование памяти, за исключением того, что кажется для дальнейшего увеличения кучи (что мне не кажется необходимым), при этом Я получаю ошибку Out of memory
.
Когда я получаю эту ошибку, это обычно происходит при загрузке HTML с использованием HttpGet
или при извлечении данных с диска с помощью StringBuffer
. Иногда это вызвано Bitmap
во время инфляции XML.
Любая помощь будет принята с благодарностью.