Я создаю приложение для Android. Для этого я создал recyclerview, который заполняется изображениями и текстами. До сих пор у меня есть изображения с моего сервера с сокетами и байтами []. В моем приложении я преобразовал это в растровые изображения. Но это не лучшая производительность. Должен ли я получить изображения с Picasso и URL? Это лучшая производительность?Отправка байт [] или URL для изображения
ответ
Как правило, в приложении Android или iOS из API мы должны получить URL-адрес изображения. Используя библиотеку загрузчика изображений, мы будем загружать эти данные.
Для андроида большинство разработчиков предпочитают универсальный загрузчик изображений или пикассо для загрузки их изображений.
Лучше полагаться на библиотеку изображений, такую как Picasso или UniversalIL, поскольку эти библиотеки будут управлять кэшированием, понижающей дискретизацией и даже обработкой ошибок. Android очень чувствителен к растровому изображению. Без надлежащего управления будет много исключений, включая печально известный: BitmapOutOfMemory.
В трех местах, где хранятся изображения. Их сравнение по пространству памяти доступности и скорости Accessibility приводится ниже:
сервер (пространство памяти ВЫСОКОЕ но Доступность SLOW)
Жесткий диск на Mobile (пространство памяти MEDIUM и доступность СРЕДНЯЯ)
Heap памяти (Memory Space НИЗКИЙ и доступность быстро)
Нам нужно создать бал в трех местах для оптимального использования доступности и пространства памяти.
Используйте любой отложенной загрузки библиотеки как Picasso или ИЮОЖ и вам не придется беспокоиться о каких-либо из этих points.It будет обрабатывать все сам :)
'У меня есть изображения с моего сервера с розетками и байт[]. В моем приложении я преобразовал это в растровые изображения. Но это не лучшая производительность ». Нет никакой причины, что производительность не будет хорошей. Где, по вашему мнению, узкое место? – greenapps
@greenapps Я вычисляю и устанавливаю изображение также «нормально», а не с чем-то вроде Пикассо. Я думаю, что это также может принести большую производительность. – user6586661
Я уже понял, что вы не использовали Picasso или другую библиотеку. 'Я думаю, что это также может привести к большой производительности. Что вы имеете в виду? «взять производительность»? Много времени вы имеете в виду? Опять же: я не вижу причин, что, если вы сделаете все, что производительность будет хуже. – greenapps