美文网首页缓存系列
使用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缓存

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