SoftReference 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.
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand.
[Android.Runtime.Register("java/lang/ref/SoftReference", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class SoftReference : Java.Lang.Ref.Reference
[<Android.Runtime.Register("java/lang/ref/SoftReference", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type SoftReference = class
inherit Reference
- Vererbung
- Attribute
Hinweise
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand.
Angenommen, der Garbage Collector bestimmt zu einem bestimmten Zeitpunkt, dass ein Objekt vorläufig erreichbar ist. Zu diesem Zeitpunkt kann es sich entscheiden, alle weichen Verweise auf dieses Objekt und alle weichen Bezüge auf alle anderen weich erreichbaren Objekte zu löschen, von denen dieses Objekt über eine Kette starker Bezüge erreichbar ist. Gleichzeitig oder zu einem späteren Zeitpunkt werden die neu gelöschten weichen Verweise, die mit Referenzwarteschlangen registriert sind, abgefragt.
Alle weichen Verweise auf vorläufig erreichbare Objekte werden garantiert gelöscht, bevor der virtuelle Computer eine OutOfMemoryError
. Andernfalls werden keine Einschränkungen für den Zeitpunkt festgelegt, zu dem ein weicher Bezug gelöscht wird, oder die Reihenfolge, in der eine Reihe solcher Verweise auf verschiedene Objekte gelöscht wird. Implementierungen virtueller Computer werden jedoch ermutigt, sich gegen das Löschen kürzlich erstellter oder kürzlich verwendeter Softverweise zu verzerren.
<h3>Vermeiden Sie weiche Verweise für Das Zwischenspeichern</h3> In der Praxis sind weiche Verweise für das Zwischenspeichern ineffizient. Die Laufzeit enthält nicht genügend Informationen dazu, welche Verweise klar sind und welche beibehalten werden sollen. Am tödlichsten weiß es nicht, was zu tun ist, wenn man die Wahl zwischen dem Löschen eines weichen Bezugs und dem Wachsen des Heaps hat.
Der Mangel an Informationen über den Wert für die Anwendung der einzelnen Verweise beschränkt die Nützlichkeit weicher Bezüge. Verweise, die zu früh gelöscht werden, verursachen unnötige Arbeit; diejenigen, die zu spät gelöscht werden, verschwenden Speicher.
Die meisten Anwendungen sollten anstelle von weichen Verweisen verwendet android.util.LruCache
werden. LruCache verfügt über eine effektive Eviction-Richtlinie und ermöglicht es dem Benutzer zu optimieren, wie viel Arbeitsspeicher zugewiesen wird.
In 1.2 hinzugefügt.
Java-Dokumentation für java.lang.ref.SoftReference
.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
SoftReference(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
SoftReference(Object) |
Erstellt einen neuen weichen Verweis, der auf das angegebene Objekt verweist. |
SoftReference(Object, ReferenceQueue) |
Erstellt einen neuen weichen Verweis, der auf das angegebene Objekt verweist und bei der angegebenen Warteschlange registriert ist. |
Eigenschaften
Class |
Gibt die Laufzeitklasse dieses Werts |
Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
IsEnqueued |
Testet, ob sich dieses Referenzobjekt in der zugeordneten Warteschlange befindet, falls vorhanden. (Geerbt von Reference) |
JniIdentityHashCode |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
JniPeerMembers |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. |
PeerReference |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (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
Clear() |
Löscht dieses Referenzobjekt. (Geerbt von Reference) |
Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
Dispose() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
Dispose(Boolean) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
Enqueue() |
Fügt dieses Referenzobjekt der Warteschlange hinzu, mit der es registriert ist, falls vorhanden. (Geerbt von Reference) |
Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
Get() |
Gibt den Referent dieses Referenzobjekts zurück. (Geerbt von Reference) |
GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
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) |
RefersTo(Object) |
Testet, ob der Referent dieses Referenzobjekts ist |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
ToArray<T>() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em> oder <em>unterbrochen</em>.<>< (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
JavaCast<TResult>(IJavaObject) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. |
GetJniTypeName(IJavaPeerable) |
Soft reference objects, which are cleared at the discretion of the garbage collector in reaktion to memory demand. |