Desmond Yao
Desmond Yao
@ronanhardiman 过奖了 这些库都是不错的,不过再好的东西也会有缺点,只要有心去发掘并改进就好了:)
谢谢反馈,已经修复了
@wangsai-silence 这个问题很好。其实我也不是很能确定它的用意,我个人认为`EncodedMemoryCache`存在的意义主要是减少读取、查找本地缓存的时间。原因是: 1. 本地缓存`DiskCacheProducer.produceResults()`中通过`BufferedDiskCache.get()`开启线程读取本地内容,如果有`EncodedMemoryCache`这一层的存在的话,本地读取成功就会存到内存中,这个读取速度会比本地缓存快很多。 2. 两个内存缓存,未解码缓存池`DefaultEncodedMemoryCacheParamsSupplier`与已解码缓存池`DefaultBitmapMemoryCacheParamsSupplier`进行对比。两者存储能力、特点都不同,举几个简单例子: - 未解码缓存池至少可以存8个item,已解码缓存池可能一个item就占满了; - 未解码缓存池最多能够存`Integer.MAX_VALUE`个item,已解码缓存池最多只能有256个item; - `EncodedImage`存储的是字节码、图像的尺寸与缩放信息,其大小远比解码后的`Bitmap`小(至少是10倍差距) 当已解码缓存池用尽后,未解码的缓存池很可能还有地方存储。加快缓存的读取速度,扩大内存缓存容量,这就是我对它的理解。
@chanonly123 Sorry, I implemented it by [material design](https://material.io/guidelines/motion/material-motion.html#material-motion-why-does-motion-matter). This feature is not implemented yet.