изображения приложений магазина Android - PullRequest
1 голос
/ 26 октября 2011

В моем приложении много ресурсов изображений.Используйте для анимации, а также для встроенной галереи.Мой вопрос - где хранить эти ресурсы?Я должен связать эти данные с приложением - без загрузки во время установки.В настоящее время все мои изображения хранятся в папке для рисования.Но, например, когда я пытаюсь получить изображения для галереи (вид сетки), у меня выходит исключение из памяти.Это происходит также, когда я пытаюсь запустить анимацию.

Я должен хранить эти изображения в SDCard и загружать их, когда мне это нужно.И тогда освободите ресурсы из памяти.Как это сделать - поместить ресурсы в assets / raw, затем сохранить в SD-карту?Тогда загрузите это?

Пожалуйста, помогите мне с этим.

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

Мне кажется, что вы хотите, чтобы метод включения изображений в рисовалках был удобен и практичен.

Однако, если изображения настолько велики, что вы не можете загрузить их в память одновременно, у вас возникает другая проблема.

Первое, что я хотел бы сделать, это проверить, что нехватка памяти IS вызвана размером изображений - попробуйте уменьшить размер изображения и посмотреть, если вы получите аналогичную ошибку, то вы знаете, что ваш приложение, вероятно, делает что-то ужасное (утечка памяти при загрузке или отображении?).

Если проблема заключается в размере изображения, НО приложение запускается правильно, то вам необходимо составить план загрузки изображений только из ресурсов так, как вам нужно их отображать (в отличие от загрузки всех изображений перед отображением ) и распоряжаться этими ресурсами, когда изображение больше не требуется.

В зависимости от вашей ситуации и контекста существует несколько хорошо понятных методов для такой отложенной загрузки, которые требуются при некоторой буферизации.

0 голосов
/ 26 октября 2011

Есть много вопросов SO, связанных с этим:

Сохранить растровое изображение в местоположении

Как перенести изображение с его URL на SD-карту?

Однако это не решит вашу проблему OutOfMemory. Это наиболее вероятная причина, в этом случае, когда изображения слишком велики. Вы можете уменьшить их, прежде чем устанавливать приложение. Другой способ - изменить их размер программным способом.

...