目录

Glide / Content Provider

Glide 简单知识

  1. 内存 - 磁盘 - 网络 三级加载

  2. 内存分为 weakHashMap 以及 Lru cache

  3. 磁盘缓存策略:

    1. DiskCacheStrategy.DATA:只缓存原始内容
    2. DiskCacheStrategy.NONE: 不缓存任何内容
    3. DiskCacheStrategy.RESOURCE:只缓存转换过后的图片(经过decode,转化裁剪的图片)
    4. DiskCacheStrategy.ALL : 既缓存原始图片, 也缓存转换过后的图片. 对于远程图片, 缓存DATA和RESOURCE. 对于本地图片, 只缓存RESOURCE.
    5. DiskCacheStrategy.AUTOMATIC (默认策略):加载远程数据时, 仅存储原始数据(因为下载远程数据相比调整磁盘上已经存在的数据要昂贵得多), 而对于本地数据, 仅存储变换过的缩略图(RESOURCE), 因为即使你需要再次生成另一个尺寸或类型的图片, 取回原始数据也很容易
  • Engine.load
    • loadFromMemory
      • loadFromActiveResources (Map<Key, ResourceWeakReference>)
      • loadFromCache (LruResourceCache)
    • waitForExistingOrStartNewJob

Content Provider

有啥用?

  1. 读取系统日历/媒体库(图片视频音频…)/联系人/短信…..
  2. 与其他应用配合, 提供广告精准推送, 比如淘宝保存了你的购物记录, 在UC浏览器打开就可能会出现你浏览过的商品(即使你没有登录) 这只是个例子 会不会真的是这样的我不确定
  3. framework 层开发, 给别的平台应用暴露 api