SyncFence Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico.
[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
- Herança
- Atributos
- Implementações
Comentários
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. Eles inicialmente começam em um estado não sinalizado e fazem uma transição única para um estado sinalizado ou de erro. Os SyncFences são criados por várias APIs de dispositivo em resposta ao envio de tarefas para o dispositivo. Eles não podem ser criados nem sinalizados pelo espaço do usuário. Como resultado, isso significa que um SyncFence sempre fará progresso.
SyncFence geralmente vêm em uma de duas variedades. "Cercas de apresentação" referem-se a um SyncFence quando a gravação em um buffer é concluída. "Liberar cercas" refere-se a quando a leitura de um buffer terminou.
Por exemplo, uma renderização de GPU para um framebuffer pode gerar uma cerca de sincronização, por exemplo, um EGLSync ou VkFence, que sinaliza quando a renderização foi concluída. Uma vez que a cerca sinaliza, o armazenamento de backup para o framebuffer pode ser lido com segurança, como para exibição ou para codificação de mídia. Isso seria chamado de "cerca de apresentação".
Da mesma forma, ao usar um android.media.ImageWriter
é possível que um android.media.Image
retornado por ImageWriter#dequeueInputImage()
já tenha um Image#getFence() fence
conjunto nele. Isso seria o que é referido como uma "cerca de liberação" ou uma "cerca de acqurie" e indica a cerca que o escritor deve esperar antes de escrever no buffer subjacente. No caso do ImageWriter isso é feito automaticamente quando o eg Image#getPlanes()
é chamado, no entanto, ao usá-lo Image#getHardwareBuffer()
é responsabilidade do chamador garantir que a cerca de liberação tenha sinalizado antes de gravar no buffer.
Documentação Java para android.hardware.SyncFence
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.
Campos
SignalTimeInvalid |
Um tempo de sinal inválido. |
SignalTimePending |
Um tempo de sinal pendente. |
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Creator |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
IsValid |
Verifica se o objeto SyncFile é válido. |
JniIdentityHashCode |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
JniPeerMembers |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. |
PeerReference |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
SignalTime |
Retorna o tempo, em nanossegundos, que a cerca sinalizou no domínio de tempo CLOCK_MONOTONIC. |
ThresholdClass |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
ThresholdType |
Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
Métodos
Await(Duration) |
Aguarda que um SyncFence sinalize até a duração do tempo limite. |
AwaitForever() |
Espera para sempre por um SyncFence para sinalizar. |
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
Close() |
Feche o SyncFence. |
DescribeContents() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. |
Dispose() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
Dispose(Boolean) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
Equals(Object) |
Indica se algum outro objeto é "igual" a este. (Herdado de Object) |
GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
ToArray<T>() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
Wait() |
Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>. (Herdado de Object) |
Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido. (Herdado de Object) |
WriteToParcel(Parcel, ParcelableWriteFlags) |
Nivele este objeto em um Parcel. |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.Finalized() |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.JniManagedPeerState |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. (Herdado de Object) |
Métodos de Extensão
JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada em tempo de execução do Android. |
JavaCast<TResult>(IJavaObject) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. |
GetJniTypeName(IJavaPeerable) |
Um SyncFence representa uma primitiva de sincronização que sinaliza quando as unidades de hardware concluíram o trabalho em um recurso específico. |