共用方式為


SoftReference 類別

定義

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

[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
繼承
SoftReference
屬性

備註

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

假設垃圾收集行程會在某個時間點判斷物件可輕觸。 屆時,它可能會選擇清除該物件的所有不可部分完成的所有軟式參考,以及該物件可透過強式參考鏈結存取的任何其他可軟式參考。 同時或稍後,它會將那些向參考佇列註冊的新清除軟參考加入佇列。

在虛擬機擲回 OutOfMemoryError之前,一定會清除所有可觸達對象的軟式參考。 否則,不會在清除軟式參考的時間,或清除一組這類對象參考的順序。 不過,鼓勵虛擬機實作偏向於清除最近建立或最近使用的軟式參考。

<h3>避免快取<的軟式參考/h3> 實際上,軟式參考對快取沒有效率。 運行時間沒有足夠的資訊可清除和保留哪些參考。 最致命的是,當選擇清除軟參考和增加堆積時,它並不知道該怎麼做。

每個參考應用程式的值資訊不足,會限制軟式參考的效用。 清除太早的參考會導致不必要的工作;那些被清除太晚的浪費記憶體的人。

大部分的應用程式都應該使用 android.util.LruCache 而非軟式參考。 LruCache 具有有效的收回原則,可讓使用者微調配置多少記憶體。

已在1.2中新增。

java.lang.ref.SoftReferenceJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

SoftReference(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

SoftReference(Object)

建立參考指定物件的新軟式參考。

SoftReference(Object, ReferenceQueue)

建立參考指定物件的新軟式參考,並且向指定的佇列註冊。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
IsEnqueued

測試這個參考物件是否在其相關聯的佇列中,如果有的話。

(繼承來源 Reference)
JniIdentityHashCode

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
JniPeerMembers

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

PeerReference

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

Clear()

清除此參考物件。

(繼承來源 Reference)
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Dispose()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
Dispose(Boolean)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
Enqueue()

如果有任何的話,請將這個參考物件加入至其註冊所在的佇列。

(繼承來源 Reference)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Get()

傳回這個參考對象的參考。

(繼承來源 Reference)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
RefersTo(Object)

測試這個參考物件的參考是否為 obj

(繼承來源 Reference)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.Finalized()

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

GetJniTypeName(IJavaPeerable)

軟體參考物件,會根據垃圾收集行程的任意量值,以回應記憶體需求。

適用於