Comments 9
Абсолютно верный и логичный подход, так и нужно делать во всех случаях.
К сожалению не везде такая схема реализована, а хотелось бы
К сожалению не везде такая схема реализована, а хотелось бы
Правильно примененная очередизация и приоритезация всегда радует
Меня всегда удивляет, что многие приложения, которые периодически обновляют контент в фоновом режиме, не имеют настройки «загружать картинки в фоновом режиме» (с разделением на мобильную сеть и wifi).
А то открываешь в метро, контент есть, но соединение плохое и картинки приходится либо долго ждать, либо пропускать вовсе. Тут приоритизация не особо поможет :(
На Android большинство библиотек для загрузки картинок ставят на паузу загрузку картинки если View переиспользуется, чтобы не мешать загрузке новой.
А то открываешь в метро, контент есть, но соединение плохое и картинки приходится либо долго ждать, либо пропускать вовсе. Тут приоритизация не особо поможет :(
На Android большинство библиотек для загрузки картинок ставят на паузу загрузку картинки если View переиспользуется, чтобы не мешать загрузке новой.
В нашей реализации, мы не ставим загрузку ненужных картинок на паузу, а откладываем их загрузку до тех пор, пока грузится то, что именно сейчас актуально.
Я понял, статью читал :)
Честно говоря, я не использую Surfingbird, поэтому возможно ваше решение хорошо работает, но, скажем, в приложениях для твиттера, вк и других социалок, пользователь с большой вероятностью вообще никогда больше не вернётся к проскролленному контенту, так зачем грузить (батарейка, трафик, сторадж) ненужное?
Честно говоря, я не использую Surfingbird, поэтому возможно ваше решение хорошо работает, но, скажем, в приложениях для твиттера, вк и других социалок, пользователь с большой вероятностью вообще никогда больше не вернётся к проскролленному контенту, так зачем грузить (батарейка, трафик, сторадж) ненужное?
Вернулся к вашей статье и возник вопрос. Как вы реализовывали методы willAppear и willDisappear?
Единственная вещь, которая может быть еще неприятнее чем та проблема, которую вы решили, это изменение позиции прокрутки при подгрузке картинок, т.е. когда placeholder-ов для них нет вообще, или они какого-то фиксированного размера, который не соответствует истинным размерам картинки.
Так отмотаешь куда-нибудь вниз, начинаешь читать, а тем временем вверху подгружаются картинки, и то, что ты только что читал, уползает вниз, весьма стремительно и неуловимо.
Так отмотаешь куда-нибудь вниз, начинаешь читать, а тем временем вверху подгружаются картинки, и то, что ты только что читал, уползает вниз, весьма стремительно и неуловимо.
Даже Хабр этим грешит.
Для приложений эту проблему легко решить- сразу установив фиксированную высоту для предполагаемых картинок. Все картинки загружать в выделеные им области, и лишь видимые картинки масштабировать под нужный формат.
Для приложений эту проблему легко решить- сразу установив фиксированную высоту для предполагаемых картинок. Все картинки загружать в выделеные им области, и лишь видимые картинки масштабировать под нужный формат.
У нас в Surfingbird все изображения сперва скачиваются сервером и мы всегда знаем у какой картинки какой размер.
Sign up to leave a comment.
Как мы увеличили отзывчивость приложения