SyncFence 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 |
回傳此 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
SyncFence 代表一種同步原語,用來通知硬體單元何時完成特定資源的工作。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |