LruCache Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
| 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ù |
| 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 |
| EvictionCount() |
Retourne le nombre de valeurs qui ont été supprimées. |
| Get(Object) |
Retourne la valeur pour |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| HitCount() |
Retourne le nombre de fois |
| 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 |
| MissCount() |
Retourne le nombre de fois |
| 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 |
| PutCount() |
Retourne le nombre de fois |
| Remove(Object) |
Supprime l’entrée si |
| 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 |
| SizeOf(Object, Object) |
Retourne la taille de l’entrée pour |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| 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 |