LruCache Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält.
[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
- Vererbung
- Attribute
Hinweise
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. Jedes Mal, wenn auf einen Wert zugegriffen wird, wird er an den Kopf einer Warteschlange verschoben. Wenn ein Wert einem vollständigen Cache hinzugefügt wird, wird der Wert am Ende dieser Warteschlange entfernt und kann für die Garbage Collection berechtigt sein.
Wenn Ihre zwischengespeicherten Werte Ressourcen enthalten, die explizit freigegeben werden müssen, überschreiben Sie #entryRemoved
.
Wenn bei Bedarf für die entsprechenden Schlüssel ein Cachefehler berechnet werden soll, überschreiben Sie #create
. Dadurch wird der aufrufende Code vereinfacht, sodass davon ausgegangen werden kann, dass immer ein Wert zurückgegeben wird, auch wenn ein Cachefehler vorliegt.
Standardmäßig wird die Cachegröße in der Anzahl der Einträge gemessen. Überschreiben Sie #sizeOf
, um den Cache in verschiedenen Einheiten zu vergrößern. Dieser Cache ist beispielsweise auf 4MiB Bitmaps beschränkt:
{@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();
}
}}
Diese Klasse ist threadsicher. Führen Sie mehrere Cachevorgänge atomar durch Synchronisieren im Cache aus:
{@code
synchronized (cache) {
if (cache.get(key) == null) {
cache.put(key, value);
}
}}
Diese Klasse lässt nicht zu, dass NULL als Schlüssel oder Wert verwendet wird. Ein Rückgabewert von NULL von #get
oder #put
#remove
ist eindeutig: Der Schlüssel befand sich nicht im Cache.
Diese Klasse erschien in Android 3.1 (Honeycomb MR1); Es ist als Teil des Android-Supportpakets für frühere Versionen verfügbar.
Java-Dokumentation für android.util.LruCache
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
LruCache(Int32) | |
LruCache(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen. |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses |
Handle |
Das Handle zum zugrunde liegenden Android-instance. (Geerbt von Object) |
JniIdentityHashCode |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
JniPeerMembers |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. |
PeerReference |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
Methoden
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Create(Object) |
Wird nach einem Cachefehler aufgerufen, um einen Wert für den entsprechenden Schlüssel zu berechnen. |
CreateCount() |
Gibt die Anzahl der zurückgegebenen |
Dispose() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
Dispose(Boolean) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
EntryRemoved(Boolean, Object, Object, Object) |
Wird für Einträge aufgerufen, die entfernt oder entfernt wurden. |
Equals(Object) |
Gibt an, ob ein anderes Objekt diesem "gleich" ist. (Geerbt von Object) |
EvictAll() |
Löschen Sie den Cache, und rufen Sie für jeden entfernten Eintrag auf |
EvictionCount() |
Gibt die Anzahl der entfernten Werte zurück. |
Get(Object) |
Gibt den Wert für |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
HitCount() |
Gibt die Anzahl der zurückgegebenen |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
MaxSize() |
Für Caches, die nicht überschreiben |
MissCount() |
Gibt die Anzahl der zurückgegebenen |
Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
Put(Object, Object) |
Caches |
PutCount() |
Gibt die Anzahl der Aufrufe zurück |
Remove(Object) |
Entfernt den Eintrag für |
Resize(Int32) |
Legt die Größe des Caches fest. |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Size() |
Bei Caches, die nicht überschreiben |
SizeOf(Object, Object) |
Gibt die Größe des Eintrags für |
Snapshot() |
Gibt eine Kopie des aktuellen Inhalts des Caches zurück, der von den letzten Zugriffen bis zum letzten Zugriff sortiert ist. |
ToArray<T>() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge mit einer präzisen, für Menschen lesbaren Beschreibung dieses Objekts zurück. |
TrimToSize(Int32) |
Entfernen Sie die ältesten Einträge, bis die Summe der verbleibenden Einträge auf oder unter der angeforderten Größe liegt. |
UnregisterFromRuntime() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<>< (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Für Android-Runtime überprüfte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. |
GetJniTypeName(IJavaPeerable) |
Ein Cache, der starke Verweise auf eine begrenzte Anzahl von Werten enthält. |