zoukankan      html  css  js  c++  java
  • Android开源框架:Universal-Image-Loader解析(二)MemoryCache

    从图中的关系可得知,对于内存缓存主要考虑的是:缓存空间大小,缓存时图片对象的大小,缓存图片存在时间长短,缓存图片的顺序,

    时间,空间,大小,顺序

     MemoryCache:定义基本操作

    BaseMemoryCache:Reference引用,key:图片对象,value:图片引用

    LimitedAgeMemoryCache:
    1.缓存大小不受限,强引用,key:图片对象,value:图片放入时的当前系统时间
    2.当图片对象超过其能生存的最长时间,会被删除

    LruMemoryCache: 系统LruCache的精简版

    WeakMemoryCache:对缓存的图片使用WeakReference

    LimitedMemoryCache(抽象类):
    1.有限的缓存,强引用,双向列表 value:图片
    2.当缓存超过限制时,会按照先进先出的规则清除缓存的图片对象
    3.但是删除的对象仍然可存在BaseMemoryCache的软引用中(会随时被GC)

    LRULimitedMemoryCache
    1.有限的缓存,强引用,key:图片对象,value:图片使用次数
    2.当缓存超过限制时,会删除使用次数最少的对象
    3.但是删除的对象仍然可存在BaseMemoryCache的软引用中(会随时被GC)

    LargestLimitedMemoryCache
    1.强引用,key:图片对象,value:图片的大小
    2.当缓存控件已满时,会删除图片中最大的对象-->value
    3.但是在仍然存在BaseMemoryCache的软引用中(会随时被GC)

    UsingFreqLimitedMemoryCache
    1.有限的缓存,强引用,key:图片对象,value:图片的大小
    2.当缓存超过限制时,会删除最近最少使用的对象
    3.但是删除的对象仍然可存在BaseMemoryCache的软引用中(会随时被GC)

    FIFOLimitedMemoryCache:
    1.有限的缓存,强引用,双向列表 value:图片
    2.当缓存超过限制时,会按照先进先出的规则清除缓存的图片对象
    3.但是删除的对象仍然可存在BaseMemoryCache的软引用中(会随时被GC)

  • 相关阅读:
    UVa 839 Not so Mobile
    UVa 548 Tree(中序遍历+后序遍历)
    UVa-679 Dropping Balls(二叉树的编号)
    Vue练习三十一:04_04_arguments应用_求出参数的和
    Vue练习三十:04_03_自动改变方向播放_幻灯片效果
    Vue练习二十九:04_02_自动播放_幻灯片效果
    Vue练习二十八:04_01_transition应用(未完成)
    Vue练习二十七:03_09_倒计时时钟
    Vue练习二十六:03_08_简易网页时钟
    Vue练习二十五:03_07_网页计算器
  • 原文地址:https://www.cnblogs.com/luow/p/4487922.html
Copyright © 2011-2022 走看看