Lenguaje

LruCache Clase

Definición

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
Atributos

Comentarios

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 memoria 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 una falta de caché a petición para las claves correspondientes, invalide #create. Esto simplifica el código de llamada, lo que permite asumir que siempre se devolverá un valor, incluso cuando se produzca un error en la memoria caché.

De forma predeterminada, el tamaño de la caché se mide en el número de entradas. Invalide #sizeOf para ajustar el tamaño de la memoria caché en unidades diferentes. Por ejemplo, esta 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 #get, #put o #remove no es ambiguo: 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.

Java documentación para android.util.LruCache.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Constructores

Nombre Description
LruCache(Int32)

Inicializa una memoria caché con el tamaño máximo especificado.

LruCache(IntPtr, JniHandleOwnership)

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

Propiedades

Nombre Description
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

Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad.

(Heredado de Object)
JniManagedPeerState

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
JniPeerMembers

Caché que contiene referencias seguras a un número limitado de valores.

PeerReference

Obtiene la referencia de objeto JNI para este Java del mismo nivel.

(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

Nombre Description
Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
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()

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
Dispose(Boolean)

Libera los recursos mantenidos por este Java del mismo nivel.

(Heredado de Object)
DisposeUnlessReferenced()

Caché que contiene referencias seguras a un número limitado de valores.

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

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

Equals(Object)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
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 para el objeto .

(Heredado de Object)
HitCount()

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

JavaFinalize()
Obsoletos.

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 en 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 a la 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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
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>()

Crea una matriz administrada a partir de este contenedor de matriz Java.

(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 esté en o por debajo del tamaño solicitado.

UnregisterFromRuntime()

Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad.

(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, 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)
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)

Implementaciones de interfaz explícitas

Nombre Description
IJavaPeerable.Disposed()

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Caché que contiene referencias seguras a un número limitado de valores.

(Heredado de JavaObject)

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Caché que contiene referencias seguras a un número limitado de valores.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a