Android. Загрузка изображений в список. Почему так происходит и как это исправить?
Это происходит из-за того, что уже ненужные (те, что прокрутились за экран) изображения ставятся в переиспользуемые вьюхи. Что делать - выкинуть UIL(очень его не люблю), взять нормальный Glide или Picasso. 
Другой вариант - в tag ImageView запоминать последний запрошенный url, его же запоминать в коллбеке, сравнивать, и, если они не совпадают, картинку не устанавливать.
Имхо, первый вариант лучше.
Запрос на загрузку картинки через image-loader отрабатывает не мгновенно, поэтому у вас и возникает небольшой gap между запросом на загрузку и отрисовкой нового изображения. Я этой библиотекой не пользовался, поэтому есть два варианта:
1. Не подключили или же не до конца настроили работу с кэшем, поэтому изображения всегда грузятся или из сети, или из disk-cache, минуя in-memory cache.
2. С кэшем всё нормально, просто по каким-то причинам загрузчик не успевает сделать так быстро, чтобы смена картинок была незаметной. Перед загрузкой нового изображения или убирайте изображение из ImageView: imageView.setImageResource(0);, или устанавливайте placeholder.