SystemClock 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.
Principais instalações de manutenção de tempo.
[Android.Runtime.Register("android/os/SystemClock", DoNotGenerateAcw=true)]
public sealed class SystemClock : Java.Lang.Object
[<Android.Runtime.Register("android/os/SystemClock", DoNotGenerateAcw=true)>]
type SystemClock = class
inherit Object
- Herança
- Atributos
Comentários
Principais instalações de manutenção de tempo.
Três relógios diferentes estão disponíveis e não devem ser confundidos:
<ul><li>
System#currentTimeMillis System.currentTimeMillis() é o relógio "wall" padrão (hora e data) expressando milissegundos desde a época. O relógio de parede pode ser definido pelo usuário ou pela rede telefônica (veja #setCurrentTimeMillis), portanto, o tempo pode saltar para trás ou para frente de forma imprevisível. Esse relógio só deve ser usado quando a correspondência com datas e horários reais é importante, como em um aplicativo de calendário ou de alarme. As medidas de tempo decorrido ou intervalo devem usar um relógio diferente. Se você estiver usando System.currentTimeMillis(), considere a escuta e android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICKandroid.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGEDandroid.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGEDandroid.content.Intent Intent as transmissões para descobrir quando o tempo é alterado.
<li>
#uptimeMillis é contado em milissegundos desde que o sistema foi inicializado. Esse relógio para quando o sistema entra em suspensão profunda (CPU desativada, exibe escuro, dispositivo aguardando entrada externa), mas não é afetado pelo dimensionamento do relógio, ocioso ou outros mecanismos de economia de energia. Essa é a base para a maioria dos intervalos de tempo, como Thread#sleep(long) Thread.sleep(millis), Object#wait(long) Object.wait(millis)e System#nanoTime System.nanoTime(). Esse relógio tem a garantia de ser monotônica e é adequado para o intervalo de tempo quando o intervalo não abrange o suspensão do dispositivo. A maioria dos métodos que aceitam um valor de carimbo de data/hora atualmente esperam o #uptimeMillis relógio.
<li>
#elapsedRealtime e #elapsedRealtimeNanos retorne o tempo desde que o sistema foi inicializado e inclua o sono profundo. Esse relógio tem a garantia de ser monotônica e continua a funcionar mesmo quando a CPU está em modos de economia de energia, portanto, é a base recomendada para o intervalo de finalidade geral.
</ul>
Há vários mecanismos para controlar o tempo de eventos:
<ul><li>
As funções padrão gostam Thread#sleep(long) Thread.sleep(millis) e Object#wait(long) Object.wait(millis) estão sempre disponíveis. Essas funções usam o #uptimeMillis relógio; se o dispositivo entrar em suspensão, o restante do tempo será adiado até que o dispositivo seja ativado. Essas funções síncronas podem ser interrompidas com Thread#interrupt Thread.interrupt(), e você deve manipular InterruptedException.
<li>
#sleep SystemClock.sleep(millis) é uma função de utilitário muito semelhante a Thread#sleep(long) Thread.sleep(millis), mas ignora InterruptedException. Use essa função para atrasos se você não usar Thread#interrupt Thread.interrupt(), pois ela preservará o estado interrompido do thread.
<li>
A android.os.Handler classe pode agendar retornos de chamada assíncronos em um momento absoluto ou relativo. Os objetos do manipulador também usam o #uptimeMillis relógio e exigem um android.os.Looper event loop (normalmente presente em qualquer aplicativo de GUI).
<li>
É android.app.AlarmManager possível disparar eventos únicos ou recorrentes que ocorrem mesmo quando o dispositivo está em suspensão profunda ou seu aplicativo não está em execução. Os eventos podem ser agendados com sua escolha de java.lang.System#currentTimeMillis (RTC) ou #elapsedRealtime (ELAPSED_REALTIME) e causar uma transmissão android.content.Intent quando ocorrerem.
</ul>
Java documentação para android.os.SystemClock.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| JniPeerMembers |
Fornece metadados de membro par JNI para esse tipo. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. (Herdado de Object) |
Métodos
| Nome | Description |
|---|---|
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| CurrentGnssTimeClock() |
Retorna um |
| CurrentNetworkTimeClock() |
Retorna um |
| CurrentThreadTimeMillis() |
Retorna milissegundos em execução no thread atual. |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| ElapsedRealtime() |
Retorna milissegundos desde a inicialização, incluindo o tempo gasto em suspensão. |
| ElapsedRealtimeNanos() |
Retorna nanossegundos desde a inicialização, incluindo o tempo gasto em suspensão. |
| Equals(Object) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| 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) |
| SetCurrentTimeMillis(Int64) |
Define o tempo de parede atual, em milissegundos. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| Sleep(Int64) |
Aguarda um determinado número de milissegundos (de uptimeMillis) antes de retornar. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| UptimeMillis() |
Retorna milissegundos desde a inicialização, sem contar o tempo gasto em sono profundo. |
| UptimeNanos() |
Retorna nanossegundos desde a inicialização, sem contar o tempo gasto em sono profundo. |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <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 por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Principais instalações de manutenção de tempo. (Herdado de JavaObject) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Principais instalações de manutenção de tempo. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |