Я читал много сообщений здесь о SO о загрузчиках изображений, растровых изображениях и асинтаксах для загрузки и отображения изображений. Когда вы работаете с небольшим количеством растровых изображений, мой загрузчик изображений в порядке, он загружает изображение и отображает его пользователю, но он также сохраняет WeakReference в HashMap, который я использую в качестве кеша, а также сохраняю изображение на SD-карте в случае, если пользователю необходимо, чтобы изображение отображалось позже, без необходимости его повторной загрузки. Пока все в порядке, мои приложения работали полностью нормально.Android: растровые изображения и производительность
Теперь я начал работу над новыми приложениями, где число изображений, отображаемых на одном экране, больше 50 (например), в этом случае экран не будет прокручиваться плавно, и я также найду FPS ниже чем обычно, обеспечивая плохую работу пользователей. У меня заканчиваются идеи о том, что делать дальше. У кого-нибудь есть совет?
Использование WeakReference вместо WeakReference улучшает использование памяти, а также пользовательский интерфейс?
Я не масштабирую растровые изображения, поскольку я загружаю их, так как они уже являются миниатюрами, следует ли их масштабировать? Изображения могут занимать не более 50% ширины экрана.
В настоящее время моя основная забота не связана с временем загрузки, моя забота касается количества отображаемых растровых изображений и того, насколько гладкой должна быть прокрутка. Я не использую gridview, я использую компонент каменной кладки от http://code.google.com/p/android-masonry
Какие предложения у вас есть для меня? С чего начать?
Благодаря Тьяго
Обычно я использую API ImageLoader от DroidFu, который использует кеширование. Это очень хорошо работает для меня и может стоить проверить: https://github.com/kaeppler/droid-fu –
кэширование и загрузка изображений прямо сейчас не проблема, проблема в том, что производительность пользовательского интерфейса уменьшает с большим количеством растровых изображений, отображаемых одновременно. Для двух или трех изображений это хорошо, но я показываю больше 50 битмапов, а самое большое изображение имеет ширину 50% экрана или 158dip, но спасибо за ваш комментарий. – Thiago