Если вы хотите кэшировать изображение, возможно, вам придется добавить
.diskCacheStrategy(DiskCacheStrategy.ALL)
, чтобы оно не мигало после загрузки, пожалуйста, проверьте приведенный ниже код для ссылок.
Glide.with(this)
.load(i)
.placeholder(R.drawable.default_image)
.error(R.drawable.default_image)
.override(200, 200)
.centerCrop()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
и если вам нужно загружать изображения одно за другим в одном и том же виде изображения, как это делает обычная загрузка игры, просто отметьте это
int delay = 1000;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
//do something
handler.postDelayed(this, delay);
if(i<imageArray.length){
Glide.with(MainActivity.this)
.load(i)
.placeholder(menuIcons[i])
.override(200, 200)
.centerCrop()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(myImage);
i=i+1;
}else{
i=0;
Glide.with(MainActivity.this)
.load(i)
.placeholder(menuIcons[i])
.override(200, 200)
.centerCrop()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(myImage);
i=i+1;
}
}
}, delay);
ПРИМЕЧАНИЕ: вы должны добавить android: largeHeap = "true"в ваш файл манифеста для избежания Android: java.lang.OutOfMemoryError, просто так
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:largeHeap="true"
android:theme="@style/AppTheme">