Я создаю приложение, которое извлекает XML с сервера, а затем анализирует его (DIDL отформатирован местами). Цель состоит в том, чтобы загрузить как можно больше памяти, чтобы пользователям было легче просматривать (чтобы обеспечить быструю прокрутку результатов), но я продолжаю получать OutOfMemoryError
с. Я немного новичок в Android, и кажется, что виртуальные машины действительно привередливы в вещах. Я загружаю не более одного мегабайта XML, и почти сразу же отбрасываю его. Что я должен сделать, чтобы эти ошибки не возникали?
Должен ли я загружать порцию за порцией файла по сети, записывать его на диск, затем загружать порцию за порцией обратно в память и из нее, анализируя все в POJO? Если этого можно избежать, я бы не хотел реализовывать какую-либо форму разбиения на страницы, как в приложении Twitter (оно использовалось для загрузки большего количества записей, когда вы достигали дна, теперь оно загружается много раз за разом, а также аварийно завершает работу с ошибка OOM.) Я использую Nexus One, если это поможет, CM7 / Android 2.3.3.