Скорость загрузки изображения для Android - PullRequest
1 голос
/ 07 февраля 2012

Кто-нибудь знает, какой формат изображения обеспечивает максимальную скорость загрузки? Я не делал никаких проверок, но если кто-то сделал, пожалуйста, прокомментируйте.

Я знаю, что документы для Android говорят, что он поддерживает: .JPG, .GIF, .PNG, .BMP, .WEBP. Допустим, мне нужно очень быстро загрузить много изображений, какой формат мне использовать, чтобы добиться максимальной производительности? Я уже использую изображения с низким и высоким разрешением. Загрузка изображений в низком разрешении очень быстрая, но если вы прокручиваете мой экран очень быстро, иногда он не совсем успевает (есть черный участок).

Также имеет значение метод загрузки? В настоящее время я использую BitmapFactory.DecodeFile(path), так как он самый простой. Я загружаю изображения асинхронно, поэтому в пользовательском интерфейсе не происходит «икота», но иногда мы видим черные участки в течение нескольких миллисекунд.

Я знаю, что это также связано со скоростью ввода / вывода, но позволяет жить в идеальном мире, где эта скорость незначительна.

Ответы [ 3 ]

1 голос
/ 21 ноября 2014

Мои два цента: я провел несколько тестов с большим изображением (1200x1700), загруженным в качестве фонового ресурса (и с измененным размером, чтобы соответствовать ширине фрагмента) в методе Fragment onCreateView ().

Вот4 измерения времени (загрузка изображения + разметка разметки) для каждого формата изображения в мс:

PNG: 212 200 188 220 (saved with Photoshop)
PNG: 200 196 224 192 (compressed with TinyPNG)
JPG: 248 248 260 244

Так что я предполагаю, что PNG (независимо от того, какой Photoshop или TinyPNG) загружается немного быстрее, чем JPG.

1 голос
/ 07 февраля 2012

Я предполагаю, что узким местом будет скорость ввода-вывода, а не скорость процессора.Это означает, что наиболее сжатый формат будет самым быстрым, даже если для его распаковки требуется время процессора.Так что ответ JPEG.

0 голосов
/ 26 мая 2019

Удивительно, но IO не является узким местом.

1024x1024x32BPP.

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

PNG:Пользовательский TGA-загрузчик 109 мс: 39 мс
Пользовательский RAW-загрузчик: 32 мс

Профилировщик показывает, что загрузчик PNG затратил время на распаковку, затухание файла ввода-вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...