public interface

MemoryCache

implements HasDebugData MemoryTrimmable
com.facebook.imagepipeline.cache.MemoryCache<K, V>
Known Indirect Subclasses

Class Overview

Interface for the image pipeline memory cache.

Summary

Nested Classes
interface MemoryCache.CacheTrimStrategy Interface used to specify the trimming strategy for the cache. 
Public Methods
abstract CloseableReference<V> cache(K key, CloseableReference<V> value)
Caches the the given key-value pair.
abstract boolean contains(K key)
Check if the cache contains an item for the given key.
abstract boolean contains(Predicate<K> predicate)
Find if any of the items from the cache whose keys match the specified predicate.
abstract CloseableReference<V> get(K key)
Gets the item with the given key, or null if there is no such item.
abstract int getCount()
Gets the total number of all currently cached items.
abstract int getSizeInBytes()
Gets the total size in bytes of all currently cached items.
abstract void probe(K key)
Probes whether the object corresponding to the key is in the cache.
abstract int removeAll(Predicate<K> predicate)
Removes all the items from the cache whose keys match the specified predicate.
[Expand]
Inherited Methods
From interface com.facebook.cache.common.HasDebugData
From interface com.facebook.common.memory.MemoryTrimmable

Public Methods

public abstract CloseableReference<V> cache (K key, CloseableReference<V> value)

Caches the the given key-value pair.

The cache returns a new copy of the provided reference which should be used instead of the original one. The client should close the returned reference when it is not required anymore.

If the cache failed to cache the given value, then the null reference is returned.

Returns
  • a new reference to be used, or null if the caching failed

public abstract boolean contains (K key)

Check if the cache contains an item for the given key.

Returns
  • true if the key was found in the cache, false otherwise

public abstract boolean contains (Predicate<K> predicate)

Find if any of the items from the cache whose keys match the specified predicate.

Parameters
predicate returns true if an item with the given key matches
Returns
  • true if the predicate was found in the cache, false otherwise

public abstract CloseableReference<V> get (K key)

Gets the item with the given key, or null if there is no such item.

Returns
  • a reference to the cached value, or null if the item was not found

public abstract int getCount ()

Gets the total number of all currently cached items.

public abstract int getSizeInBytes ()

Gets the total size in bytes of all currently cached items.

public abstract void probe (K key)

Probes whether the object corresponding to the key is in the cache. Note that the act of probing touches the item (if present in cache), thus changing its LRU timestamp.

public abstract int removeAll (Predicate<K> predicate)

Removes all the items from the cache whose keys match the specified predicate.

Parameters
predicate returns true if an item with the given key should be removed
Returns
  • number of the items removed from the cache