All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bumptech.glide.load.engine.cache.MemoryCache Maven / Gradle / Ivy

Go to download

A fast and efficient image loading library for Android focused on smooth scrolling.

There is a newer version: 5.0.0-rc01
Show newest version
package com.bumptech.glide.load.engine.cache;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.load.Key;
import com.bumptech.glide.load.engine.Resource;

/** An interface for adding and removing resources from an in memory cache. */
public interface MemoryCache {
  /** An interface that will be called whenever a bitmap is removed from the cache. */
  interface ResourceRemovedListener {
    void onResourceRemoved(@NonNull Resource removed);
  }

  /** Returns the sum of the sizes of all the contents of the cache in bytes. */
  long getCurrentSize();

  /** Returns the current maximum size in bytes of the cache. */
  long getMaxSize();

  /**
   * 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. * * @param multiplier A size multiplier {@code >= 0}. */ void setSizeMultiplier(float multiplier); /** * Removes the value for the given key and returns it if present or null otherwise. * * @param key The key. */ @Nullable Resource remove(@NonNull Key key); /** * Add bitmap to the cache with the given key. * * @param key The key to retrieve the bitmap. * @param resource The {@link com.bumptech.glide.load.engine.EngineResource} to store. * @return The old value of key (null if key is not in map). */ @Nullable Resource put(@NonNull Key key, @Nullable Resource resource); /** * Set the listener to be called when a bitmap is removed from the cache. * * @param listener The listener. */ void setResourceRemovedListener(@NonNull ResourceRemovedListener listener); /** Evict all items from the memory cache. */ void clearMemory(); /** * Trim the memory cache to the appropriate level. Typically called on the callback onTrimMemory. * * @param level This integer represents a trim level as specified in {@link * android.content.ComponentCallbacks2}. */ void trimMemory(int level); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy