Shakil Karim
10/15/2021, 4:41 PMMichael Paus
10/15/2021, 5:45 PMAlex
10/15/2021, 5:48 PMadjpd
10/15/2021, 7:02 PMCsaba Szugyiczki
10/16/2021, 7:50 AMShakil Karim
10/16/2021, 7:52 AMShakil Karim
10/16/2021, 7:59 AM@OptIn(ExperimentalCoilApi::class)
@Provides
@Singleton
fun provideImageLoader(
@ApplicationContext context: Context,
@Named("defaultClient") okHttpClient: OkHttpClient,
): ImageLoader {
return ImageLoader.Builder(context)
.okHttpClient(okHttpClient)
.crossfade(true)
.memoryCache(MemoryCache.Builder(context)
.strongReferencesEnabled(true)
.weakReferencesEnabled(true)
.maxSizePercent(0.5)
.build()
)
.diskCache(DiskCache.Builder(context)
.maxSizePercent(0.6)
.directory(context.cacheDir).build())
.build()
}
and Injecting on Application Class
Coil.setImageLoader(imageLoader)
Csaba Szugyiczki
10/16/2021, 8:03 AMCsaba Szugyiczki
10/16/2021, 8:04 AMCsaba Szugyiczki
10/16/2021, 8:05 AMCsaba Szugyiczki
10/16/2021, 8:05 AMShakil Karim
10/16/2021, 8:15 AMreturn ImageLoader.Builder(context)
.okHttpClient(okHttpClient)
.respectCacheHeaders(false)
.crossfade(true)
.logger(DebugLogger())
.memoryCache(MemoryCache.Builder(context)
.strongReferencesEnabled(true)
.weakReferencesEnabled(true)
.maxSizePercent(0.6)
.build()
)
.diskCache(DiskCache.Builder(context)
.maxSizePercent(0.6)
.directory(context.cacheDir).build())
.build()
Also, I notice Most of the images are coming from Memory Cache after adding logger so I think, this is not related to Coil but Composing.Csaba Szugyiczki
10/16/2021, 8:26 AMShakil Karim
10/16/2021, 4:50 PMCsaba Szugyiczki
10/18/2021, 6:42 AMadjpd
10/18/2021, 7:12 AM