SystemClock Classe

Definição

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
SystemClock
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 Object.

(Herdado de Object)
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 Clock que começa em 1º de janeiro de 1970 00:00:00.

CurrentNetworkTimeClock()

Retorna um Clock que começa em 1º de janeiro de 1970 00:00:00.

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 self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

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 selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a