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.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 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。 它们最初以无对齐状态开始,并一次性转换为信号状态或错误状态。 SyncFences 由各种设备 API 创建,以响应向设备提交任务。 用户空间无法创建或发出信号。 因此,这意味着 SyncFence 将始终取得进展。
SyncFence 通常分为两个品种之一。 写入缓冲区完成后,“演示文稿围栏”是指 SyncFence。 然后,“释放围栏”是指从缓冲区读取完成后。
例如,对 framebuffer 的 GPU 呈现可能会生成同步围栏,例如 EGLSync 或 VkFence,该围栏在渲染完成后发出信号。 隔离信号后,可以安全地读取帧缓冲区的后盾存储,例如用于显示或媒体编码。 这称为“演示围栏”。
同样,使用android.media.ImageWriter
android.media.Image
时,返回者ImageWriter#dequeueInputImage()
可能已具有一个Image#getFence() fence
集。 这称为“释放围栏”或“acqurie 围栏”,并指示编写器在写入基础缓冲区之前必须等待的围栏。 对于 ImageWriter,在调用 Eg Image#getPlanes()
时会自动执行此操作,但是当使用 Image#getHardwareBuffer()
ImageWriter 时,调用方负责确保在写入缓冲区之前释放围栏已发出信号。
适用于 . 的 android.hardware.SyncFence
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
字段
SignalTimeInvalid |
信号时间无效。 |
SignalTimePending |
挂起的信号时间。 |
属性
Class |
返回此 |
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, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <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 表示同步基元,当硬件单元在特定资源上完成工作时发出信号。 |