Linguaggio

LruCache Classe

Definizione

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.

per android.util.LruCache.

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 Objectoggetto .

(Ereditato da Object)
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 #create(Object) in cui è stato restituito un valore.

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 #entryRemoved su ogni voce rimossa.

EvictionCount()

Restituisce il numero di valori rimossi.

Get(Object)

Restituisce il valore per key se esiste nella cache o può essere creato da #create.

GetHashCode()

Restituisce un valore di codice hash per l'oggetto .

(Ereditato da Object)
HitCount()

Restituisce il numero di volte #get in cui è stato restituito un valore già presente nella cache.

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 #sizeOfil numero massimo di voci nella cache.

MissCount()

Restituisce il numero di volte #get in cui è stato restituito Null o è necessario creare un nuovo valore.

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 value cache per key.

PutCount()

Restituisce il numero di chiamate #put .

Remove(Object)

Rimuove la voce per key se esistente.

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 #sizeOfil numero di voci nella cache.

SizeOf(Object, Object)

Restituisce le dimensioni della voce per key e value in unità definite dall'utente.

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 selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

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 selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a