SyncFence 类

定义

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

[Android.Runtime.Register("android/hardware/SyncFence", ApiSince=33, DoNotGenerateAcw=true)]
public sealed class SyncFence : Java.Lang.Object, Android.OS.IParcelable, IDisposable, Java.Interop.IJavaPeerable, 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 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。 它们最初以无对齐状态开始,并一次性转换为信号状态或错误状态。 SyncFences 由各种设备 API 创建,以响应向设备提交任务。 用户空间无法创建或发出信号。 因此,这意味着 SyncFence 将始终取得进展。

SyncFence 通常分为两个品种之一。 写入缓冲区完成后,“演示文稿围栏”是指 SyncFence。 然后,“释放围栏”是指从缓冲区读取完成后。

例如,对 framebuffer 的 GPU 呈现可能会生成同步围栏,例如 EGLSync 或 VkFence,该围栏在渲染完成后发出信号。 隔离信号后,可以安全地读取帧缓冲区的后盾存储,例如用于显示或媒体编码。 这称为“演示围栏”。

同样,使用android.media.ImageWriterandroid.media.Image时,返回者ImageWriter#dequeueInputImage()可能已具有一个Image#getFence() fence集。 这称为“释放围栏”或“acqurie 围栏”,并指示编写器在写入基础缓冲区之前必须等待的围栏。 对于 ImageWriter,在调用 Eg Image#getPlanes() 时会自动执行此操作,但是当使用 Image#getHardwareBuffer() ImageWriter 时,调用方负责确保在写入缓冲区之前释放围栏已发出信号。

适用于 . 的 android.hardware.SyncFenceJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

SignalTimeInvalid

信号时间无效。

SignalTimePending

挂起的信号时间。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Creator

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

Handle

基础 Android 实例的句柄。

(继承自 Object)
IsValid

检查 SyncFile 对象是否有效。

JniIdentityHashCode

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
JniPeerMembers

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

PeerReference

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
SignalTime

返回CLOCK_MONOTONIC时间域中发出信号的围栏的时间(以纳秒为单位)。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)

方法

Await(Duration)

等待 SyncFence 发出长达超时持续时间的信号。

AwaitForever()

永远等待 SyncFence 发出信号。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

关闭 SyncFence。

DescribeContents()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

Dispose()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
Dispose(Boolean)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
WriteToParcel(Parcel, ParcelableWriteFlags)

将此对象平展到一个地块中。

显式接口实现

IJavaPeerable.Disposed()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.Finalized()

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

GetJniTypeName(IJavaPeerable)

SyncFence 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。

适用于