Open sartajroshan opened 4 years ago
Glide Module
@GlideModule
class QkopyXGlideModule : AppGlideModule() {
override fun applyOptions(context: Context, builder: GlideBuilder) {
//use 25% of available heap size
val cacheSize = Runtime.getRuntime().maxMemory() / 4
builder.setMemoryCache(LruResourceCache(cacheSize.toLong()))
builder.setDiskCache(InternalCacheDiskCacheFactory(context, cacheSize.toLong()))
builder.setDefaultRequestOptions(requestOptions())
}
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
val client: OkHttpClient = OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.build()
val factory = OkHttpUrlLoader.Factory(client)
glide.registry.replace(
GlideUrl::class.java,
InputStream::class.java, factory
)
}
companion object {
var drawableCrossFadeFactory: DrawableCrossFadeFactory = Builder().setCrossFadeEnabled(true).build()
private fun requestOptions(): RequestOptions {
return RequestOptions()
.signature(ObjectKey(System.currentTimeMillis() / (24 * 60 * 60 * 1000)))
.override( Target.SIZE_ORIGINAL)
.encodeFormat(Bitmap.CompressFormat.JPEG)
.encodeQuality(100)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.format(DecodeFormat.PREFER_ARGB_8888)
.skipMemoryCache(false)
}
}
}
No proper image caching mechanism is implemented