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.
Instalações centrais de cronometragem.
[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
Instalações centrais de cronometragem.
Três relógios diferentes estão disponíveis, e eles não devem ser confundidos:
<><Ul li>
System#currentTimeMillis System.currentTimeMillis()
é o relógio de "parede" padrão (hora e data) que expressa milissegundos desde a época. O relógio de parede pode ser ajustado pelo usuário ou pela rede telefônica (veja #setCurrentTimeMillis
), de modo que 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 horas do mundo real for importante, como em um aplicativo de calendário ou despertador. As medições de intervalo ou tempo decorrido devem usar um relógio diferente. Se você estiver usando System.currentTimeMillis(), considere ouvir o android.content.Intent#ACTION_TIME_TICK ACTION_TIME_TICK
, android.content.Intent#ACTION_TIME_CHANGED ACTION_TIME_CHANGED
e android.content.Intent#ACTION_TIMEZONE_CHANGED ACTION_TIMEZONE_CHANGED
android.content.Intent Intent
transmissões para descobrir quando a hora muda.
<li>
#uptimeMillis
é contado em milissegundos desde que o sistema foi inicializado. Esse relógio pára quando o sistema entra em suspensão profunda (CPU desligada, tela escura, dispositivo aguardando entrada externa), mas não é afetado pelo dimensionamento do relógio, ociosidade ou outros mecanismos de economia de energia. Essa é a base para a maioria dos intervalos de tempo, como Thread#sleep(long) Thread.sleep(millls)
, Object#wait(long) Object.wait(millis)
e System#nanoTime System.nanoTime()
. Este relógio é garantido para ser monotônico, e é adequado para o tempo de intervalo quando o intervalo não abrange o sono 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
retornar o tempo desde que o sistema foi inicializado, e incluir o sono profundo. Este relógio é garantido para ser monotônico, e continua a marcar mesmo quando a CPU está em modos de economia de energia, por isso é a base recomendada para o tempo de intervalo de uso geral.
</ul>
Existem vários mecanismos para controlar o tempo dos eventos:
<><Ul li>
Funções padrão como 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 acorde. Essas funções síncronas podem ser interrompidas com Thread#interrupt Thread.interrupt()
o , e você deve manipular InterruptedException
o .
<li>
#sleep SystemClock.sleep(millis)
é uma função de utilidade muito semelhante ao 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 tempo absoluto ou relativo. Os objetos manipuladores também usam o #uptimeMillis
relógio e exigem um android.os.Looper event loop
(normalmente presente em qualquer aplicativo GUI).
<li>
O android.app.AlarmManager
pode 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 android.content.Intent
transmissão quando ocorrem. </ul>
Documentação Java para android.os.SystemClock
.
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.
Propriedades
Class |
Retorna a classe de tempo de execução deste |
Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
JniIdentityHashCode |
Instalações centrais de cronometragem. (Herdado de Object) |
JniPeerMembers |
Instalações centrais de cronometragem. |
PeerReference |
Instalações centrais de cronometragem. (Herdado de Object) |
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
Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
CurrentGnssTimeClock() |
Retorna um |
CurrentNetworkTimeClock() |
Retorna um |
CurrentThreadTimeMillis() |
Retorna milissegundos em execução no thread atual. |
Dispose() |
Instalações centrais de cronometragem. (Herdado de Object) |
Dispose(Boolean) |
Instalações centrais de cronometragem. (Herdado de Object) |
ElapsedRealtime() |
Retorna milissegundos desde a inicialização, incluindo o tempo gasto no modo de suspensão. |
ElapsedRealtimeNanos() |
Retorna nanossegundos desde a inicialização, incluindo o tempo gasto no modo de suspensão. |
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) |
Sleep(Int64) |
Aguarda um determinado número de milissegundos (de uptimeMillis) antes de retornar. |
ToArray<T>() |
Instalações centrais de cronometragem. (Herdado de Object) |
ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
UnregisterFromRuntime() |
Instalações centrais de cronometragem. (Herdado de Object) |
UptimeMillis() |
Retorna milissegundos desde a inicialização, sem contar o tempo gasto em sono profundo. |
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) |
Implantações explícitas de interface
IJavaPeerable.Disposed() |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.Finalized() |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.JniManagedPeerState |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Instalações centrais de cronometragem. (Herdado de Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Instalações centrais de cronometragem. (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) |
Instalações centrais de cronometragem. |
GetJniTypeName(IJavaPeerable) |
Instalações centrais de cronometragem. |