glide 4100 配置最大内存上限为200M的示例代码
以下是Glide 4.10.0配置最大内存上限为200M的示例代码:
// 创建一个GlideBuilder对象
GlideBuilder builder = new GlideBuilder();
// 设置内存缓存大小为200M
MemorySizeCalculator calculator = new MemorySizeCalculator.Builder(context)
.setMemoryCacheScreens(2)
.setBitmapPoolScreens(3)
.setTargetDensity(context.getResources().getDisplayMetrics().densityDpi)
.build();
int memoryCacheSizeBytes = (int) (calculator.getMemoryCacheSize() * 0.8f);
int bitmapPoolSizeBytes = (int) (calculator.getBitmapPoolSize() * 0.8f);
builder.setMemoryCache(new LruResourceCache(memoryCacheSizeBytes));
builder.setBitmapPool(new LruBitmapPool(bitmapPoolSizeBytes));
// 构建GlideOptions对象,设置内存和磁盘缓存
GlideOptions options = new GlideOptions()
.diskCacheStrategy(DiskCacheStrategy.DATA)
.signature(new ObjectKey("mySignature"))
.override(100, 100)
.dontAnimate()
.placeholder(R.drawable.placeholder)
.error(R.drawable.error);
// 使用上面的builder和options创建Glide对象
Glide glide = builder.setDefaultRequestOptions(options).build(context);
在上面的代码中,我们使用了GlideBuilder对象来设置内存缓存大小为200M。我们使用了MemorySizeCalculator对象来计算内存缓存和位图池的大小。我们将内存缓存大小设置为计算结果的80%。我们还使用LruResourceCache和LruBitmapPool对象来设置内存缓存和位图池。
接下来,我们使用GlideOptions对象来设置内存和磁盘缓存。我们使用了DiskCacheStrategy.DATA策略来只缓存原始数据。我们还设置了一个签名来避免缓存不同版本的相同URL。最后,我们使用setDefaultRequestOptions方法将GlideOptions对象设置为默认选项,并使用builder.build(context)方法构建Glide对象
原文地址: http://www.cveoy.top/t/topic/hjvm 著作权归作者所有。请勿转载和采集!