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 sicuri 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 sicuri a un numero limitato di valori. Ogni volta che si accede a un valore, viene spostato all'inizio di una coda. Quando un valore viene aggiunto a una cache completa, il valore alla fine di tale coda viene rimosso e può diventare idoneo per l'operazione di Garbage Collection.
Se i valori memorizzati nella cache contengono risorse che devono essere rilasciate in modo esplicito, eseguire l'override #entryRemoveddi .
Se un mancato riscontro nella cache deve essere calcolato su richiesta per le chiavi corrispondenti, eseguire l'override #createdi . Ciò semplifica il codice chiamante, consentendogli di presupporre che venga restituito sempre un valore, anche quando si verifica un mancato riscontro nella cache.
Per impostazione predefinita, la dimensione della cache viene misurata nel numero di voci. Eseguire l'override #sizeOf per ridimensionare 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 della 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. Un valore restituito null da #get#put o #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.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| LruCache(Int32) |
Inizializza una cache con le dimensioni massime specificate. |
| LruCache(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| JniPeerMembers |
Cache che contiene riferimenti sicuri a un numero limitato di valori. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (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
| Nome | Descrizione |
|---|---|
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| Create(Object) |
Chiamato dopo che una cache non è in grado di calcolare un valore per la chiave corrispondente. |
| CreateCount() |
Restituisce il numero di volte |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| EntryRemoved(Boolean, Object, Object, Object) |
Chiamata per le voci che sono state rimosse o rimosse. |
| Equals(Object) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| 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 di codice hash per l'oggetto . (Ereditato da Object) |
| HitCount() |
Restituisce il numero di volte |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| MaxSize() |
Per le cache che non eseguono l'override di , restituisce |
| MissCount() |
Restituisce il numero di volte |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Put(Object, Object) |
Memorizza nella |
| PutCount() |
Restituisce il numero di chiamate |
| Remove(Object) |
Rimuove la voce per |
| Resize(Int32) |
Imposta le dimensioni della cache. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| Size() |
Per le cache che non eseguono l'override di , restituisce |
| SizeOf(Object, Object) |
Restituisce le dimensioni della voce per |
| Snapshot() |
Restituisce una copia del contenuto corrente della cache, ordinato dall'ultimo accesso all'ultimo accesso. |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una stringa contenente una descrizione concisa e leggibile dell'oggetto. |
| TrimToSize(Int32) |
Rimuovere le voci più elevate fino a quando il totale delle voci rimanenti è pari o inferiore alle dimensioni richieste. |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> 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
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. (Ereditato da JavaObject) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Cache che contiene riferimenti sicuri a un numero limitato di valori. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |