Language

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 は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。 最初は符号なし状態で開始され、シグナル状態またはエラー状態に 1 回限り遷移します。 SyncFences は、デバイスへのタスクの送信に応じて、さまざまなデバイス API によって作成されます。 ユーザー空間で作成したり通知したりすることはできません。 その結果、SyncFence は常に前進します。

SyncFence は一般的に 2 種類の 1 つです。 "プレゼンテーション フェンス" は、バッファーへの書き込みが完了したときの SyncFence を指します。 次に、バッファーからの読み取りが完了した時点を参照します。

たとえば、フレームバッファーに対する GPU レンダリングでは、EGLSync や VkFence などの同期フェンスが生成され、レンダリングが完了したときに通知されます。 フェンスが信号を発したら、フレームバッファーのバッキング ストレージを、ディスプレイやメディア エンコードなど、安全に読み取ることができます。 これは"プレゼンテーション フェンス" と呼ばれます。

同様に、android.media.ImageWriterを使用する場合、android.media.Imageによって返されるImageWriter#dequeueInputImage()に既にImage#getFence() fenceが設定されている可能性があります。 これは"リリース フェンス" または "acqurie fence" と呼ばれ、ライターが基になるバッファーに書き込む前に待機する必要があるフェンスを示します。 ImageWriter の場合、これは、たとえば Image#getPlanes() が呼び出されたときに自動的に行われますが、 Image#getHardwareBuffer() を使用する場合は、バッファーに書き込む前にリリース フェンスが通知されたことを確認する呼び出し元の責任です。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

Name 説明
SyncFence(SyncFence)

既存のものから SyncFence のコピーを作成します。

フィールド

Name 説明
SignalTimeInvalid

無効なシグナル時間。

SignalTimePending

保留中のシグナル時間。

プロパティ

Name 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Creator

SyncFence は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsValid

SyncFile オブジェクトが有効かどうかを確認します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

SyncFence は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。

(継承元 JavaObject)
JniPeerMembers

SyncFence は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
SignalTime

フェンスがCLOCK_MONOTONIC時間領域で通知した時間をナノ秒単位で返します。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)

メソッド

Name 説明
Await(Duration)

SyncFence がタイムアウト期間まで通知されるまで待機します。

AwaitForever()

SyncFence が通知されるまで、永久に待機します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Close()

SyncFence を閉じます。

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()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SyncFence は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

このオブジェクトをパーセルにフラット化します。

明示的なインターフェイスの実装

Name 説明
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 は、ハードウェア ユニットが特定のリソースで作業を完了したときに通知する同期プリミティブを表します。

拡張メソッド

Name 説明
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側で有効であることを確認します。

適用対象