以下是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对象

glide 4100 配置最大内存上限为200M的示例代码

原文地址: http://www.cveoy.top/t/topic/hjvm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录