Обнаружена причина мигания изображения.
Обнаружено, что только изображение в кодировке Base 64 (размытое изображение) вызывает проблему мерцания, и изображение из локального хранилища не мерцает.Glide преобразует строку, закодированную в формате base64, в форму для рисования каждый раз, когда обновляются данные, поэтому происходит мигание.Хотя растровое изображение из локального хранилища обрабатывается впервые и сохраняется в LRU Cache, оно не будет загружено при повторном обновлении данных.
При просмотре внутренних обратных вызовов было обнаружено, что оно отправляет ноль в видересурсом всякий раз, когда он преобразует строку base 64 в drawable.
Решение состоит в том, чтобы дать заполнителю, который можно рисовать, так же, как и base 64, декодированному drawable, чтобы скользить, чтобы он отображал этот заполнитель drawable всякий раз, когда отправляет ноль в качестве ресурса.
Drawable image = new BitmapDrawable(((ImageViewHolder) holder).imageView.getContext().getResources(), BitmapFactory.decodeByteArray(imgList.get(position), 0, imgList.get(position).length));
//Passing the converted drawable as placeholder
requestOptions.placeholder(image);
Glide.with(imageViewHolder.imageView.getContext())
.load(imgList.get(position)) -> Passing the same base 64 string which was converted to drawable for placeholder
.apply(requestOptions)
.into(imageViewHolder.imageView);
So the image actually flickers but we have passed the same image as placeholder, so the flicker will not be visible to use