Skip to content

Instantly share code, notes, and snippets.

@nuhkoca
Created January 13, 2018 00:00
Show Gist options
  • Save nuhkoca/1a5717c4e081f71220f53832473aff0c to your computer and use it in GitHub Desktop.
Save nuhkoca/1a5717c4e081f71220f53832473aff0c to your computer and use it in GitHub Desktop.
@GlideModule
public class SampleAppGlideModule extends AppGlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
int memoryCacheSizeBytes = 1024 * 1024 * 20; // 20mb
builder.setMemoryCache(new LruResourceCache(memoryCacheSizeBytes));
builder.setDiskCache(new InternalCacheDiskCacheFactory(context, memoryCacheSizeBytes));
builder.setDefaultRequestOptions(requestOptions(context));
builder.build(context);
}
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(20, TimeUnit.SECONDS)
.connectTimeout(20, TimeUnit.SECONDS)
.build();
OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
glide.getRegistry().replace(GlideUrl.class, InputStream.class, factory);
}
private static RequestOptions requestOptions(Context context){
return new RequestOptions()
.signature(new ObjectKey(
System.currentTimeMillis() / (24 * 60 * 60 * 1000)))
.override(200, 200)
.centerCrop()
.encodeFormat(Bitmap.CompressFormat.PNG)
.encodeQuality(100)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)
.format(PREFER_ARGB_8888)
.skipMemoryCache(false);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment