語言

SyncFence 類別

定義

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

[Android.Runtime.Register("android/hardware/SyncFence", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class SyncFence : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/hardware/SyncFence", ApiSince=33, DoNotGenerateAcw=true)>]
type SyncFence = class
    inherit Object
    interface IParcelable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IAutoCloseable
繼承
屬性
實作

備註

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。 它們最初處於未訊號狀態,並一次性轉換至訊號狀態或錯誤狀態。 SyncFence 是由各種裝置 API 在向裝置提交任務後建立的。 它們無法由使用者空間創造或發出訊號。 因此,SyncFence 能夠持續前進。

SyncFence 通常有兩種類型。 「呈現圍欄」指的是當寫入緩衝區完成時的同步圍欄。 「釋放圍欄」則指緩衝區讀取結束後的狀態。

例如,GPU 渲染到畫面緩衝區時,可能會產生同步圍欄,例如 EGLSync 或 VkFence,並會在渲染完成時發出訊號。 一旦柵欄發出訊號,就可以安全地讀取畫面緩衝區的後備儲存,例如用於顯示或媒體編碼。 這會被稱為「展示圍欄」。

同樣地,使用時android.media.ImageWriter,返回的 android.media.Image by 可能ImageWriter#dequeueInputImage()已經包含一個Image#getFence() fence集合。 這會被稱為「釋放圍欄」或「acqurie 圍欄」,並指示寫入者必須等待的圍欄,才能寫入底層緩衝區。 以 ImageWriter 為例,當 eg Image#getPlanes() 被呼叫時會自動執行,但在使用 Image#getHardwareBuffer() 時,呼叫者必須確保釋放圍欄已發出訊號,才能寫入緩衝區。

Java 文件 android.hardware.SyncFence。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
SyncFence(SyncFence)

從現有的 SyncFence 複製一個副本。

欄位

名稱 Description
SignalTimeInvalid

訊號時間無效。

SignalTimePending

等待信號時間。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Creator

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
IsValid

檢查 SyncFile 物件是否有效。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
JniPeerMembers

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
SignalTime

回傳圍欄在CLOCK_MONOTONIC時間域中發出訊號的時間(奈秒)。

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
Await(Duration)

等待 SyncFence 發出訊號,直到逾時結束。

AwaitForever()

等 SyncFence 發出訊號會等很久。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Close()

關閉同步圍欄。

Construct(JniObjectReference, JniObjectReferenceOptions)

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
DescribeContents()

描述此 Parcelable 實例的分組表示中包含的特殊物件種類。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
Equals(Object)

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

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

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

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

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

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

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

把這個物體壓扁成一個包裹。

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

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

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

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

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

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

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

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

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於