Langue

LruCache Classe

Définition

Cache qui contient des références fortes à un nombre limité de valeurs.

[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
Héritage
Attributs

Remarques

Cache qui contient des références fortes à un nombre limité de valeurs. Chaque fois qu’une valeur est accessible, elle est déplacée vers la tête d’une file d’attente. Lorsqu’une valeur est ajoutée à un cache complet, la valeur à la fin de cette file d’attente est supprimée et peut devenir éligible au garbage collection.

Si vos valeurs mises en cache contiennent des ressources qui doivent être explicitement libérées, remplacez #entryRemoved.

Si une absence de cache doit être calculée à la demande pour les clés correspondantes, remplacez #create. Cela simplifie le code appelant, ce qui lui permet de supposer qu’une valeur est toujours retournée, même en cas d’absence de cache.

Par défaut, la taille du cache est mesurée dans le nombre d’entrées. Remplacez #sizeOf la taille du cache en unités différentes. Par exemple, ce cache est limité à 4MiB de bitmaps :

{@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();
                  }
              }}

Cette classe est thread-safe. Effectuez plusieurs opérations de cache de manière atomique en synchronisant sur le cache :

{@code
              synchronized (cache) {
                if (cache.get(key) == null) {
                    cache.put(key, value);
                }
              }}

Cette classe n’autorise pas l’utilisation de null comme clé ou valeur. Valeur de retour null de #get, #put ou #remove non ambiguë : la clé n’était pas dans le cache.

Cette classe est apparue dans Android 3.1 (Honeycomb MR1) ; il est disponible dans le cadre du package de support Android pour les versions antérieures.

Java documentation pour android.util.LruCache.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
LruCache(Int32)

Initialise un cache avec la taille maximale spécifiée.

LruCache(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
JniPeerMembers

Cache qui contient des références fortes à un nombre limité de valeurs.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
Clone()

Crée et retourne une copie de cet objet.

(Hérité de Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
Create(Object)

Appelé après une absence de cache pour calculer une valeur pour la clé correspondante.

CreateCount()

Retourne le nombre de fois où #create(Object) une valeur a été retournée.

Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
EntryRemoved(Boolean, Object, Object, Object)

Appelé pour les entrées qui ont été supprimées ou supprimées.

Equals(Object)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
EvictAll()

Effacez le cache, en appelant #entryRemoved chaque entrée supprimée.

EvictionCount()

Retourne le nombre de valeurs qui ont été supprimées.

Get(Object)

Retourne la valeur pour key laquelle elle existe dans le cache ou peut être créée par #create.

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
HitCount()

Retourne le nombre de fois #get où une valeur était déjà présente dans le cache.

JavaFinalize()

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
MaxSize()

Pour les caches qui ne remplacent #sizeOfpas, cela retourne le nombre maximal d’entrées dans le cache.

MissCount()

Retourne le nombre de fois #get où la valeur null retournée ou une nouvelle valeur doit être créée.

Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
Put(Object, Object)

Mets value en cache pour key.

PutCount()

Retourne le nombre de fois #put qu’on a appelé.

Remove(Object)

Supprime l’entrée si key elle existe.

Resize(Int32)

Définit la taille du cache.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
Size()

Pour les caches qui ne remplacent #sizeOfpas , cela retourne le nombre d’entrées dans le cache.

SizeOf(Object, Object)

Retourne la taille de l’entrée pour key et value dans les unités définies par l’utilisateur.

Snapshot()

Retourne une copie du contenu actuel du cache, triée du moins récemment accessible jusqu’au dernier accès.

ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une chaîne contenant une description concise et lisible par l’homme de cet objet.

TrimToSize(Int32)

Supprimez les entrées les plus anciennes jusqu’à ce que le total des entrées restantes soit au-dessous de la taille demandée.

UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Cache qui contient des références fortes à un nombre limité de valeurs.

(Hérité de JavaObject)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Cache qui contient des références fortes à un nombre limité de valeurs.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à