2016-09-19 3 views
2

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

ответ

1

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

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

+0

получение меньших изображений с сервера и сокращение размера от пикассо-звонка, разве это не лучший подход? улучшит ли производительность и не даст никакого эффекта? –

+0

Да, но это будет слишком сложно. (Выберите только один). Лучший подход - это мое второе предложение, если у вас есть доступ к вашему серверному коду. – Enzokie

+0

** Заключение **: чем меньше передаваемых данных, тем быстрее выполняется транзакция. – Enzokie

1

попробовать это для указать высоту изображения и ширина

Picasso.with(mContext) 
      .load(uri).resize(100, 100).centerCrop() 
      .placeholder(R.drawable.type_pic) 
      .error(R.drawable.type_pic) 
      .into(holder.icon); 
+1

Я использую этот тип кода, но мой вопрос заключается в том, будет ли это изменение размера очень эффективным приложением приложения? –

1

изменения размера Пикассо() помогает производительность рендеринга,

однако если фактический размер файла большой, время загрузки будет больше по сравнению с временем скачивания фактического размера будет принимать.

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

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

+0

что «я имел в виду делать, спасибо. :) –

+0

Ваше приветствие :) –

1

@gurvinder, кажется, много сценария относительно повышения производительности

Сценария 1 изображения высокого разрешения -> большого размера изображения -> займет больше времени, чтобы загрузить

решения - вы можете уменьшить разрешение изображения в соответствии с вашим максимальным разрешением поддержки приложения

Сценарий 2 Какая библиотека изображений? Picasso, Glide, UniversalImageLoader или Fresco Решение - предлагаю вам пойти с фреской, для меня впечатляет фреска. кеширование и производительность намного быстрее, чем любой acc. мне.

+0

попробовали picasso, Aquery и скользить до сих пор, понравилось picasso. попробуем фреску сейчас :) спасибо. –

Смежные вопросы