Ошибочно указано, что недостаточно памяти при установке приложения

#android #memory #installation

#Android #память #установка

Вопрос:

Я разрабатываю приложение с версией Eclipse SDK: 3.6.2 и платформой Android 2.2 r3. Я установил android: installLocation=»preferExternal». Приложение также правильно устанавливается на SD-карту моего ZTE с Android 2.2.

Но…

Установка завершается неудачно, когда памяти телефона меньше, чем требуется для устанавливаемого приложения. Похоже, что программа установки проверяет память телефона, а не SD-карту. Есть ли какое-либо исправление для этого? Может ли эта проблема возникать также при установке приложения из Android Market?

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

Ответ №1:

Файл .apk сохраняется на внешнем хранилище, но все личные данные пользователя, базы данных, оптимизированные файлы .dex и извлеченный машинный код сохраняются во внутренней памяти устройства.

Из местоположения установки приложения

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

Это актуально для каждой установки, поэтому даже при установке с маркета.

Комментарии:

1. Объем хранилища приложения составляет 34 МБ. Во внутренней памяти хранится всего 0,02 МБ. Теперь я заметил, что телефон указывает на то, что внутренний ресурс становится низким во время процесса загрузки. Таким образом, это временные файлы в памяти телефона.

2. Возможно, мне нужно использовать другой подход. Большая часть места находится в mp3-файлах. Возможно ли скопировать эти файлы в каталог на SD-карте во время процесса установки вместо включения их в файл apk?

3. Эй, о да, я об этом не подумал. Да, файлы кэшируются во внутренней памяти, насколько я знаю. Однажды с этим возникла проблема с my desire и cyanogenmod. Когда дело доходит до исключения файлов, что вы можете сделать, это установить приложение и позволить ему загрузить все файлы при первом запуске. Это то, что делают многие разработчики игр или приложений, таких как navigon, когда у них есть гигабайты необходимого им материала. Но для этого требуется ваш собственный хостинг / сервер, рынок не поддерживает такого рода дополнительное распространение (пока), если я не ошибаюсь….

4. … хотя Google объявил об этом при вводе-выводе (см. Этот PDF , стр. 20) с target в июне. Немного изучите, возможно, я просто пропустил это, поскольку мне это не нужно.