美文网首页缓存系列
使用Lrucache缓存

使用Lrucache缓存

作者: 大海孤了岛 | 来源:发表于2017-03-09 17:41 被阅读23次


public class FileLoader {

    /**
     * 定义缓存对象
     */
    public LruCache<String, File> fileLruCache;

    public FileLoader(){
        if (fileLruCache == null){
            //获取应用内存空间
            long maxMemory = Runtime.getRuntime().maxMemory();
            //获取到最大的缓存空间
            int cacheSize = (int) (maxMemory / 8);
            //创建缓存对象
            fileLruCache = new LruCache<String, File>(cacheSize){
                @Override
                protected int sizeOf(String key, File value) {
                    return super.sizeOf(key, value);
                }
            };
        }
    }

    /**
     * 实现添加到缓存中
     * @param key
     * @param file
     */
    public void addFileToCache(String key, File file){
        if (getFileFromCache(key) == null){
            fileLruCache.put(key, file);
        }
    }

    /**
     * 从缓冲中获取文件
     * @param key
     * @return
     */
    public File getFileFromCache(String key){
        if (fileLruCache != null){
            return fileLruCache.get(key);
        }
        return null;
    }

    /**
     * 从缓存中移除文件
     * @param key
     */
    public void removeFromCache(String key){
        if (fileLruCache != null){
            fileLruCache.remove(key);
        }
    }

}

相关文章

  • 加载图片的优化策略

    使用LruCache进行缓存LruCache(int maxSize):该缓存空间所能存放的最大大小;sizeOf...

  • Android-LruCache

    LruCache介绍 LruCache 顾名思义就是使用LRU缓存策略的缓存,那么LRU是什么呢? 最近最少使用到...

  • 1110-LruCache详解一

    什么是LruCache LruCache,Least Recently Used,“最近最少使用缓存”,是一种基于...

  • Glide缓存策略

    1.内存缓存 正在使用中的图片使用弱引用来进行缓存,不在使用中的图片使用LruCache来进行缓存 2.硬盘缓存 ...

  • LruCache缓存使用

    1.为什么要缓存? 在android项目中经常需要请求网络图片,这个时候如果每张网络图片显示都要去获取一次的话,是...

  • 使用Lrucache缓存

  • LruCache的实现原理(图片三级缓存)

    官方建议使用lrucache进行内存缓存。Lrucache底层实际是维护的一个linkedHashMap集合(他是...

  • 如何封装一个图片加载库

    ①分级缓存,著名的LruCache算法,又称为近期最少使用算法。LruCache 中 Lru 算法的实现就是通过 ...

  • LruCache原理实现

    在设计缓存时,比如Bitmap图片缓存,使用LruCache实现。它内部是LinkedHashMap,继承Hash...

  • Bitmap的缓存结构设计

    1. 整体思路设计 采用三级缓存结构:内存-磁盘-网络,缓存使用的是LruCache算法,最近最少使用缓存算法 内...

网友评论

    本文标题:使用Lrucache缓存

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