Interface MemoryCache

All Known Implementing Classes:
LruResourceCache, MemoryCacheAdapter

public interface MemoryCache
An interface for adding and removing resources from an in memory cache.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    An interface that will be called whenever a bitmap is removed from the cache.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Evict all items from the memory cache.
    long
    Returns the sum of the sizes of all the contents of the cache in bytes.
    long
    Returns the current maximum size in bytes of the cache.
    put(Key key, Resource<?> resource)
    Add bitmap to the cache with the given key.
    remove(Key key)
    Removes the value for the given key and returns it if present or null otherwise.
    void
    Set the listener to be called when a bitmap is removed from the cache.
    void
    setSizeMultiplier(float multiplier)
    Adjust the maximum size of the cache by multiplying the original size of the cache by the given multiplier.
    void
    trimMemory(int level)
    Trim the memory cache to the appropriate level.
  • Method Details

    • getCurrentSize

      long getCurrentSize()
      Returns the sum of the sizes of all the contents of the cache in bytes.
    • getMaxSize

      long getMaxSize()
      Returns the current maximum size in bytes of the cache.
    • setSizeMultiplier

      void setSizeMultiplier(float multiplier)
      Adjust the maximum size of the cache by multiplying the original size of the cache by the given multiplier.

      If the size multiplier causes the size of the cache to be decreased, items will be evicted until the cache is smaller than the new size.

      Parameters:
      multiplier - A size multiplier >= 0.
    • remove

      @Nullable Resource<?> remove(@NonNull Key key)
      Removes the value for the given key and returns it if present or null otherwise.
      Parameters:
      key - The key.
    • put

      @Nullable Resource<?> put(@NonNull Key key, @Nullable Resource<?> resource)
      Add bitmap to the cache with the given key.
      Parameters:
      key - The key to retrieve the bitmap.
      resource - The com.bumptech.glide.load.engine.EngineResource<Z> to store.
      Returns:
      The old value of key (null if key is not in map).
    • setResourceRemovedListener

      void setResourceRemovedListener(@NonNull MemoryCache.ResourceRemovedListener listener)
      Set the listener to be called when a bitmap is removed from the cache.
      Parameters:
      listener - The listener.
    • clearMemory

      void clearMemory()
      Evict all items from the memory cache.
    • trimMemory

      void trimMemory(int level)
      Trim the memory cache to the appropriate level. Typically called on the callback onTrimMemory.
      Parameters:
      level - This integer represents a trim level as specified in ComponentCallbacks2.