LruCache Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| 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 |
| 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 |
| EvictionCount() |
Devuelve el número de valores que se han expulsado. |
| Get(Object) |
Devuelve el valor de |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| HitCount() |
Devuelve el número de veces |
| 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 |
| MissCount() |
Devuelve el número de veces |
| 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 |
| PutCount() |
Devuelve el número de veces |
| Remove(Object) |
Quita la entrada de |
| 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(Object, Object) |
Devuelve el tamaño de la entrada para |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| 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 |