美文网首页
20160113-android图片缓存

20160113-android图片缓存

作者: 好奇的小刺猬 | 来源:发表于2016-01-13 18:38 被阅读174次

    知识摘抄本:

    android设备的图片缓存:

    1.内存缓存:图片缓存在设备的内存中,优点是快,缺点是消耗内存,所以不能太大,用要考虑分配的空间,应用重启后就会消失。

    方法一:软引用SoftReference。

    方法二:官网推荐LruCache:相当于线程安全的LinkedHashMap。必须要之道的区别:

    LruCache封装了LinkedHashMap,提供了LRU(Least Recently Used 最近最少使用算法)缓存的功能;

    LruCache通过trimToSize方法自动删除最近最少访问的键值对;

    LruCache不允许空键值, LinkedHashMap允许;

    LruCache线程安全, LinkedHashMap线程不安全;

    继承LruCache时,必须要复写sizeOf方法,用于计算每个条目的大小。在put和get的时候会调用safeSizeOf(K key, V value),safeSizeOf(K key, V value)会调用 sizeOf (K key, V value),这个方法默认返回1。

    2.外部缓存,图片缓存在磁盘上,磁盘可以是内部的存储空间也可以是外部的sd卡。外部缓存的优点是可以长久保存大量的数据(相比较内存缓存而言),缺点就是慢。

    参考文档:

    1.Android内存优化之内存缓存

    2.android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略

    3.详细解读LruCache类

    4.Android高效加载图片,有效避免程序OOM:zhang的blog,学习榜样~~~

    相关文章

      网友评论

          本文标题:20160113-android图片缓存

          本文链接:https://www.haomeiwen.com/subject/rxmckttx.html