Я работаю над приложением Android, где я получаю свои данные, которые включают в себя изображения, хранящиеся в виде блоков из базы данных, а затем, как только я получу эти данные в своем приложении, я преобразовываю все это в растровые изображения и сохраняю данные в ArrayList для последующего использования. При выполнении этого для двух десятков изображений требуется около 8 секунд; как я могу создать битмапы быстрее. Изображения различаются по высоте. В цикле for я превращаю строку изображения в массив байтов, а затем использую BitmapFactory.decodeByteArray. Я также использую options.inSampleSize = 4.Как создать растровые изображения быстрее в Android?
0
A
ответ
0
Прочитайте изображения из базы данных и сохраните их в локальной кеш-памяти, а затем прочитайте изображения из кэш-памяти, это эффективный способ отображения растрового изображения.
См ссылки:
https://developer.android.com/training/displaying-bitmaps/cache-bitmap.html
+0
Как только я создаю растровое изображение, я добавляю их в представление. Проблема заключается в времени, которое требуется для создания каждого растрового изображения. – user3705359
Смежные вопросы
- 1. Растровые изображения в Android
- 2. Как эффективно хранить растровые изображения в Android?
- 3. Как слить растровые изображения в Android?
- 4. Как создать растровые изображения (в C)?
- 5. Растровые изображения, которые кэшируются как растровые изображения
- 6. Растровые изображения и захват Android
- 7. Как использовать растровые изображения?
- 8. Android Studio - конвертировать растровые изображения в java.io.File
- 9. Android: растровые изображения и производительность
- 10. Растровые изображения и Android Heap
- 11. Как добавить изображения в растровые изображения
- 12. Android автоматически перерисовывает растровые изображения
- 13. Android не загружается .png как растровые изображения
- 14. Как прокручивать растровые изображения?
- 15. Как масштабировать растровые изображения?
- 16. Инвертировать определенные цвета в растровые изображения (Android)
- 17. Рисовать большие растровые изображения в Android
- 18. Растровые изображения Android в xml-памяти утечки?
- 19. Как добавить изображения/растровые изображения в wx.Dialog
- 20. Как правильно отображать растровые изображения?
- 21. Как переработать растровые изображения в адаптере gridview?
- 22. Как создать растровые изображения с высоким разрешением в python?
- 23. Android Volley Image Caching Разные растровые изображения
- 24. Android: Использование матрицы рисовать растровые изображения
- 25. Android - Где хранить сгенерированные растровые изображения?
- 26. android Picture.createFromStream не перезагружает растровые изображения
- 27. Как конвертировать Pdf-страницы в растровые изображения в Android?
- 28. Android: растровые изображения, SoftReferences и OOMs?
- 29. OutOfMemoryError создает растровые изображения
- 30. Существующие графики в растровые изображения
Если вы декодирование много изображений подряда, как это, вы, вероятно, нужно найти новый способ делать вещи. Это займет много памяти и приведет к проблемам OOM. Особенно, если вы «сохраняете в ArrayList для последующего использования». Если вы не используете их сейчас или в ближайшие несколько секунд, вы не должны их загружать. –
Я заполняю список этими элементами, поэтому мне нужно загрузить их все в это время. Есть ли лучший способ сделать это? – user3705359
Lazy loading. Сохраните информацию, необходимую для загрузки элемента позднее, и загрузите его только при необходимости. Растровые изображения большие. Они берут 4 байта высоты * высоты в памяти. Хранение нескольких маленьких - это не большая проблема, но все они - проблема. Потерянная загрузка позволит вам сэкономить много ошибок OOM позже и исправить ошибки вашего перфоратора (так как вы будете распространять загрузку и делать это только тогда, когда это необходимо). Предпочтительно комбинировать с кешем (кеш LRU может иметь максимальный размер, накладываемый на него, поэтому вы не будете использовать больше предопределенного максимального объема памяти на изображениях). –