【问题标题】:Does glide also uses http header to cahce imagesglide 是否也使用http头缓存图片
【发布时间】:2018-09-18 13:22:38
【问题描述】:

我正在使用Picasso 在我的应用程序中加载图像。如here 所述,磁盘缓存由 HTTP 客户端维护,而不是 Picasso

我想将图像永久保存在缓存中,除非用户将其删除或删除应用程序。我不想每次都执行网络操作。

我的问题是 Glide 是否使用其他机制来缓存图像,或者它也使用http

here 所述,如果我需要在picasso 中提供cahce 实现,我需要使用okhttp

我是否也需要为Glide 做同样的事情,或者它会照顾Caching

【问题讨论】:

标签: android performance android-layout picasso android-glide


【解决方案1】:

来自官方Glidedocs

默认情况下,缓存放置在应用程序缓存文件夹中的特定目录中。如果应用程序显示的媒体是公开的(从未经身份验证的网站、搜索引擎等获取),应用程序可以将位置更改为外部存储。

你可以这样做:

@GlideModule
public class YourAppGlideModule extends AppGlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
    builder.setDiskCache(new ExternalDiskCacheFactory(context));
    }
  }

您可以像这样自定义缓存文件夹名称:

   @GlideModule
   public class YourAppGlideModule extends AppGlideModule {
       @Override
       public void applyOptions(Context context, GlideBuilder builder {

       /**You can set cache size here**/
       int diskCacheSizeBytes = 1024 * 1024 * 100; // 100 MB

       builder.setDiskCache(
       new InternalDiskCacheFactory(context, "cacheFolderName", diskCacheSizeBytes));
       }
   }

【讨论】:

    猜你喜欢
    • 2017-03-25
    • 2018-04-18
    • 2021-04-18
    • 2012-08-26
    • 1970-01-01
    • 2015-12-01
    • 2020-09-23
    • 1970-01-01
    • 2017-11-29
    相关资源
    最近更新 更多