LruCache Clase

Definición

Una memoria caché que contiene referencias seguras a un número limitado de valores.

[Android.Runtime.Register("android/util/LruCache", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public class LruCache : Java.Lang.Object
[<Android.Runtime.Register("android/util/LruCache", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type LruCache = class
    inherit Object
Herencia
LruCache
Atributos

Comentarios

Una memoria caché que contiene referencias seguras a un número limitado de valores. Cada vez que se accede a un valor, se mueve al encabezado de una cola. Cuando se agrega un valor a una caché completa, el valor al final de esa cola se expulsa y puede ser apto para la recolección de elementos no utilizados.

Si los valores almacenados en caché contienen recursos que deben liberarse explícitamente, invalide #entryRemoved.

Si se debe calcular un error de caché a petición para las claves correspondientes, invalide #create. Esto simplifica el código de llamada, lo que permite suponer que siempre se devolverá un valor, incluso cuando se produce un error en la memoria caché.

De forma predeterminada, el tamaño de la memoria caché se mide en el número de entradas. Invalide #sizeOf para cambiar el tamaño de la memoria caché en unidades diferentes. Por ejemplo, esta memoria caché está limitada a 4MiB de mapas de bits:

{@code
              int cacheSize = 4 * 1024 * 1024; // 4MiB
              LruCache<String, Bitmap> bitmapCache = new LruCache<String, Bitmap>(cacheSize) {
                  protected int sizeOf(String key, Bitmap value) {
                      return value.getByteCount();
                  }
              }}

Esta clase es segura para subprocesos. Realice varias operaciones de caché de forma atómica mediante la sincronización en la memoria caché:

{@code
              synchronized (cache) {
                if (cache.get(key) == null) {
                    cache.put(key, value);
                }
              }}

Esta clase no permite usar null como clave o valor. Un valor devuelto de null de #geto #put#remove es inequívoca: la clave no estaba en la memoria caché.

Esta clase apareció en Android 3.1 (Honeycomb MR1); está disponible como parte del paquete de soporte técnico de Android para versiones anteriores.

Documentación de Java para android.util.LruCache.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código Project y que se usan según los términos Creative Commons 2.5 Attribution License.

Constructores

LruCache(Int32)
LruCache(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Propiedades

Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
JniIdentityHashCode

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
JniPeerMembers

Una memoria caché que contiene referencias seguras a un número limitado de valores.

PeerReference

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
ThresholdClass

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

ThresholdType

Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código.

Métodos

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Create(Object)

Se llama después de que se pierda una memoria caché para calcular un valor para la clave correspondiente.

CreateCount()

Devuelve el número de veces #create(Object) que se devuelve un valor.

Dispose()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
Dispose(Boolean)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
EntryRemoved(Boolean, Object, Object, Object)

Se llama para las entradas que se han expulsado o quitado.

Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
EvictAll()

Borre la memoria caché y llame a #entryRemoved en cada entrada eliminada.

EvictionCount()

Devuelve el número de valores que se han expulsado.

Get(Object)

Devuelve el valor de key si existe en la memoria caché o se puede crear mediante #create.

GetHashCode()

Devuelve un valor de código hash del objeto.

(Heredado de Object)
HitCount()

Devuelve el número de veces #get que devolvió un valor que ya estaba presente en la memoria caché.

JavaFinalize()

Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto .

(Heredado de Object)
MaxSize()

En el caso de las memorias caché que no invalidan #sizeOf, devuelve el número máximo de entradas de la memoria caché.

MissCount()

Devuelve el número de veces #get que se devuelve null o requiere que se cree un nuevo valor.

Notify()

Activa un único subproceso que está esperando en el monitor de este objeto.

(Heredado de Object)
NotifyAll()

Activa todos los subprocesos que están esperando en el monitor de este objeto.

(Heredado de Object)
Put(Object, Object)

Almacena en value caché para key.

PutCount()

Devuelve el número de veces #put que se llamó.

Remove(Object)

Quita la entrada de key si existe.

Resize(Int32)

Establece el tamaño de la memoria caché.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
Size()

En el caso de las memorias caché que no invalidan #sizeOf, devuelve el número de entradas de la memoria caché.

SizeOf(Object, Object)

Devuelve el tamaño de la entrada para key y value en unidades definidas por el usuario.

Snapshot()

Devuelve una copia del contenido actual de la memoria caché, ordenada desde la última vez a la que se ha accedido más recientemente.

ToArray<T>()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
ToString()

Devuelve una cadena que contiene una descripción concisa y legible de este objeto.

TrimToSize(Int32)

Quite las entradas más eldest hasta que el total de entradas restantes sea o por debajo del tamaño solicitado.

UnregisterFromRuntime()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
Wait()

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

(Heredado de Object)
Wait(Int64)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)
Wait(Int64, Int32)

Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real.

(Heredado de Object)

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.Finalized()

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

(Heredado de Object)

Métodos de extensión

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

GetJniTypeName(IJavaPeerable)

Una memoria caché que contiene referencias seguras a un número limitado de valores.

Se aplica a