Glide 是一个开源图片加载库,使用了多种缓存来优化图片加载:Bitmap缓存池、活动资源缓存、内存缓存和磁盘缓存。那么它们的需求和实现有何不同呢?
Bitmap 缓存池
Google 文档中推荐了3种图片加载优化的方案,其中之一就是复用 Bitmap,就是配置加载 Bitmap 时的 Option 中的 inBitmap 参数,复用的好处是防止 Bitmap 大对象的频繁创建和 GC 导致内存抖动、GC 卡顿。官方使用示例如下:
private fun addInBitmapOptions(options: BitmapFactory.Options, cache: ImageCache?)