Android Open Source - AndroidImageCache Memory Cache






From Project

Back to project page AndroidImageCache.

License

The source code is released under:

Przemys?aw Jakubczyk Polidea Sp. z o.o. Copyright (c) 2012 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the follo...

If you think the Android project AndroidImageCache listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pl.polidea.imagecache;
// www .j a va2s.c o  m
import android.graphics.Bitmap;
import java.util.Map;
import pl.polidea.utils.Utils;

/**
 * @author Przemys?aw Jakubczyk <przemyslaw.jakubczyk@pl.polidea.pl>
 */
public class MemoryCache {

    BitmapLRUCache cache;

    public MemoryCache(final int size) {
        cache = new BitmapLRUCache(size);
    }

    public int createCount() {
        return cache.createCount();
    }

    public void evictAll() {
        cache.evictAll();
    }

    public int evictionCount() {
        return cache.evictionCount();
    }

    public Bitmap get(final String key) {
        return cache.get(key);
    }

    public int hitCount() {
        return cache.hitCount();
    }

    public int maxSize() {
        return cache.maxSize();
    }

    public int missCount() {
        return cache.missCount();
    }

    /**
     * Puts bitmap to cache. Both key and value can't be null. Inserting bitmap
     * bigger than MemoryCache size throw IllegalArgumentException.
     *
     * @param key
     * @param bitmap
     */
    public Bitmap put(final String key, final Bitmap bitmap) {
        if (key == null || bitmap == null) {
            throw new IllegalArgumentException("key == null || value == null");
        }
        final int size = bitmap.getRowBytes() * bitmap.getHeight();
        if (size > maxSize()) {
            throw new IllegalArgumentException("Tried to put bitmap of size: " + size / 1024
                    + " KB, while maximum memory cache size is: " + maxSize() / 1024 + " KB.");
        }
        Bitmap put = cache.put(key, bitmap);
        Utils.log("Inserting " + key + " into LRU Cache Bitmap with size: " + size + "B " + " width:"
                + bitmap.getWidth() + "\theight: " + bitmap.getHeight() + " Cache size: " + size() / 1000 + " KB");

        return put;
    }

    public int putCount() {
        return cache.putCount();
    }

    public Bitmap remove(final String key) {
        return cache.remove(key);
    }

    public int size() {
        return cache.size();
    }

    public Map<String, Bitmap> snapshot() {
        return cache.snapshot();
    }

    @Override
    public final String toString() {
        return cache.toString();
    }
}




Java Source Code List

pl.polidea.imagecache.BitmapLRUCache.java
pl.polidea.imagecache.CacheConfig.java
pl.polidea.imagecache.ImageCacheFactory.java
pl.polidea.imagecache.ImageCache.java
pl.polidea.imagecache.MemoryCache.java
pl.polidea.imagecache.OnCacheResultListener.java
pl.polidea.imagecache.StaticCachedImageCacheFactory.java
pl.polidea.thridparty.DiskCache.java
pl.polidea.thridparty.LinkedBlockingDeque.java
pl.polidea.thridparty.LruCache.java
pl.polidea.utils.Dimensions.java
pl.polidea.utils.StackBlockingDeque.java
pl.polidea.utils.StackPoolExecutor.java
pl.polidea.utils.TempFile.java
pl.polidea.utils.Utils.java
pl.polidea.webimagesampleapp.AndroidImageCacheExample.java
pl.polidea.webimageview.BitmapDecodeException.java
pl.polidea.webimageview.Bitmaps.java
pl.polidea.webimageview.DefaultBitmapProcessor.java
pl.polidea.webimageview.ImageViewUpdater.java
pl.polidea.webimageview.WebImageListener.java
pl.polidea.webimageview.WebImageView.java
pl.polidea.webimageview.net.StaticCachedWebClientFactory.java
pl.polidea.webimageview.net.WebCallback.java
pl.polidea.webimageview.net.WebClientFactory.java
pl.polidea.webimageview.net.WebClient.java
pl.polidea.webimageview.net.WebInterfaceImpl.java
pl.polidea.webimageview.net.WebInterface.java
pl.polidea.webimageview.processor.AbstractBitmapProcessorCreationChain.java
pl.polidea.webimageview.processor.BitmapProcessor.java
pl.polidea.webimageview.processor.BothWidthAndHeightFixed.java
pl.polidea.webimageview.processor.BothWidthAndHeightNotFixed.java
pl.polidea.webimageview.processor.OnlyHeightFixed.java
pl.polidea.webimageview.processor.OnlyWidthFixed.java
pl.polidea.webimageview.processor.ProcessorFactory.java
pl.polidea.webimageview.processor.Processor.java
pl.polidea.webimageview.processor.ProgramaticallyCreated.java
pl.polidea.webimageview.processor.Unknown.java