LruCache Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Cache che contiene riferimenti forti a un numero limitato di valori.
[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
- Ereditarietà
- Attributi
Commenti
Cache che contiene riferimenti forti a un numero limitato di valori. Ogni volta che viene eseguito l'accesso a un valore, viene spostato nella testa di una coda. Quando un valore viene aggiunto a una cache completa, il valore alla fine della coda viene rimosso e può diventare idoneo per Garbage Collection.
Se i valori memorizzati nella cache contengono risorse che devono essere rilasciate in modo esplicito, eseguire l'override #entryRemoved
di .
Se un errore della cache deve essere calcolato su richiesta per le chiavi corrispondenti, eseguire l'override #create
di . Ciò semplifica il codice chiamante, consentendogli di presupporre che un valore venga sempre restituito, anche quando è presente una mancata cache.
Per impostazione predefinita, la dimensione della cache viene misurata nel numero di voci. Eseguire l'override per ridimensionare #sizeOf
la cache in unità diverse. Ad esempio, questa cache è limitata a 4MiB di bitmap:
{@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();
}
}}
Questa classe è thread-safe. Eseguire più operazioni di cache in modo atomico sincronizzando nella cache:
{@code
synchronized (cache) {
if (cache.get(key) == null) {
cache.put(key, value);
}
}}
Questa classe non consente l'uso di Null come chiave o valore. Valore restituito null da #get
o #put
#remove
non ambiguo: la chiave non era nella cache.
Questa classe è apparsa in Android 3.1 (Honeycomb MR1); è disponibile come parte del pacchetto di supporto di Android per le versioni precedenti.
Documentazione Java per android.util.LruCache
.
Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .
Costruttori
LruCache(Int32) | |
LruCache(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle all'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
JniPeerMembers |
Cache che contiene riferimenti forti a un numero limitato di valori. |
PeerReference |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Create(Object) |
Chiamato dopo un errore della cache per calcolare un valore per la chiave corrispondente. |
CreateCount() |
Restituisce il numero di volte |
Dispose() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
Dispose(Boolean) |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
EntryRemoved(Boolean, Object, Object, Object) |
Chiamata per le voci che sono state rimosse o rimosse. |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
EvictAll() |
Cancellare la cache, chiamando |
EvictionCount() |
Restituisce il numero di valori rimossi. |
Get(Object) |
Restituisce il valore per |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
HitCount() |
Restituisce il numero di volte |
JavaFinalize() |
Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto. (Ereditato da Object) |
MaxSize() |
Per le cache che non eseguono l'override, questo restituisce |
MissCount() |
Restituisce il numero di volte |
Notify() |
Riattiva un singolo thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
Put(Object, Object) |
|
PutCount() |
Restituisce il numero di volte |
Remove(Object) |
Rimuove la voce per |
Resize(Int32) |
Imposta le dimensioni della cache. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
Size() |
Per le cache che non eseguono l'override, questo restituisce |
SizeOf(Object, Object) |
Restituisce le dimensioni della voce per |
Snapshot() |
Restituisce una copia del contenuto corrente della cache, ordinata da almeno recentemente a cui è stato eseguito l'accesso alla maggior parte degli ultimi accessi. |
ToArray<T>() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
ToString() |
Restituisce una stringa contenente una descrizione concisa e leggibile dell'oggetto. |
TrimToSize(Int32) |
Rimuovere le voci più eldest fino a quando il totale delle voci rimanenti è a o sotto le dimensioni richieste. |
UnregisterFromRuntime() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
Wait() |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.< (Ereditato da Object) |
Wait(Int64) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Cache che contiene riferimenti forti a un numero limitato di valori. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione dei tipi controllati dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Cache che contiene riferimenti forti a un numero limitato di valori. |
GetJniTypeName(IJavaPeerable) |
Cache che contiene riferimenti forti a un numero limitato di valori. |