2013-06-05 2 views
3

Кто-нибудь смог проверить Volley на более старых устройствах?Volley ImageLoader действительно медленный на старых устройствах

У меня есть ZTE Blade, который имеет один сердечник 800mhz.

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

Тот же самый код очень близок к моим Galaxy S2 и Xoom.

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

Не совсем уверен, как отладить это.

Я даже вошел в внутренние части немного, даже удалив объект синхронизации из декодирования растрового изображения, но абсолютно бесполезно.

У меня есть новое приложение для выпуска и должно было выпускаться без поддержки до ICS из-за производительности, это так плохо.

+0

Traceview может показать вам, где узкое место. Вы также можете подумать, был ли Волей был разумным выбором, поскольку он не документирован и не поддерживается. – CommonsWare

+0

Да, работа над реализацией Universal-image-loader после очередного удара по проблеме завтра. Возможно, придется проследить следы, которые раньше не использовали. –

+0

Чтобы добавить топливо к этому огню. Последнее приложение для Play Store, которое, по-видимому, использует Volley, действительно медленно загружает изображения на этом более старом устройстве. Точно такая же проблема, я мог бы смотреть на целую страницу миниатюр/значков в магазине воспроизведения, и для загрузки любого из изображений потребуется всего 30 секунд. Я имею в виду, что я могу перемещаться, устанавливать приложения и продолжать просмотр до того, как загрузится только одно изображение. –

ответ

8

Поведение ImageLoader в Volley, похоже, настроено на «страницы» миниатюр и не столько длинный, либо непрерывный поток. С этой целью ответы от ImageLoader фактически задерживаются/переносятся перед доставкой. Таким образом, изображения, которые готовы, не доставляются, как только они могут быть созданы для того, чтобы достичь эстетики загрузки страницы, и вкратце расскажут об этом в разговорах ввода-вывода Google.

http://www.youtube.com/watch?v=yhv8l9F44qo

Вы можете удалить это поведение со следующим

mImageLoader = new ImageLoader(mQueue, imageCache); 
mImageLoader.setBatchedResponseDelay(0); 

Я не знаю, почему это вызывает какие-либо проблемы, в конце концов, хотя, потому что это только означает отложить на 100мс , и я не вижу, чтобы это продлевало эту задержку на основе нового контента, но будет продолжать исследовать и сообщать о чем-либо еще, что я нахожу. Но это исправляет реакцию на более старые устройства, а новые устройства, конечно, все еще маслянистые.

+0

Спасибо за обмен :) –

+0

дал бы вам двойной голос, если бы мог. о, я знаю! –

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