Я создаю небольшое приложение, которое в основном будет каталогом определенных предприятий. Все получено через службу REST. У меня возникли проблемы с изображениями при просмотре списка предприятий.
Изображения, составляющие каждый элемент списка, представляют собой фон (функционируют как «баннер» для бизнеса) и до 5 небольших значков, представляющих наиболее важные услуги, предоставляемые бизнесом.
Я начал использовать Picasso для асинхронной загрузки этих изображений в надежде, что смогу избежать создания собственного кэширования. Однако я столкнулся с парой проблем:
A) Самый большой из них заключается в том, что на более низком телефоне (LG Optimus V под управлением Android 2.2) фон/баннер ВСЕГДА не загружается. Я использую опцию error() Picasso для загрузки заполнителя, который можно нарисовать, когда фон не загружается, но каждый из них не загружается, и я не могу понять, почему. Что я заметил по этому поводу:
- Маленькие значки загружаются нормально
- Обратный вызов onImageLoadFailed от Picasso на самом деле не срабатывает. Но заполнитель, который я указываю с помощью error(), загружается.
- Память, кажется, не является проблемой, так как я прекрасно могу загружать эти баннеры (тот же размер ресурса), если они локальные, а не удаленные.
- Эта проблема не возникает в Droid X с версией 2.3 и парой устройств более высокого уровня.
B) На всех устройствах ни значки служб, ни баннеры никогда не кэшируются на диск (режим отладки Picasso указывает, что они всегда загружаются сначала из удаленного источника, а затем из памяти), хотя Picasso должен делать это автоматически. Не уверен, что я пропускаю какие-то настройки или что-то в этом роде.
На самом деле, служебные значки были бы лучше, если бы я мог предварительно выбрать их в начале приложения, потому что они часто повторяются между элементами списка (бизнес). Они не могут быть локальными активами, потому что список возможных сервисов может расти в любой момент, и поэтому регулярно будет появляться больше значков. Но было бы здорово, если бы в начале действия я мог запросить свой список сервисов (для этого уже есть точка REST), предварительно загрузить все значки и кэшировать их. Есть простой способ сделать это?
Спасибо за любые рекомендации по этому вопросу.