Idioma

JavaSystem.NanoTime Método

Definição

Retorna o valor atual da fonte de tempo de alta resolução da máquina virtual Java em execução, em nanossegundos.

[Android.Runtime.Register("nanoTime", "()J", "")]
public static long NanoTime();
[<Android.Runtime.Register("nanoTime", "()J", "")>]
static member NanoTime : unit -> int64

Retornos

o valor atual da fonte de tempo de alta resolução da máquina virtual Java em execução, em nanossegundos

Atributos

Comentários

Retorna o valor atual da fonte de tempo de alta resolução da máquina virtual Java em execução, em nanossegundos.

Esse método só pode ser usado para medir o tempo decorrido e não está relacionado a nenhuma outra noção de tempo de sistema ou de relógio de parede. O valor retornado representa nanossegundos desde algum tempo de origem fixo, mas arbitrário (talvez no futuro, portanto, os valores podem ser negativos). A mesma origem é usada por todas as invocações desse método em uma instância de uma máquina virtual Java; outras instâncias de máquina virtual provavelmente usarão uma origem diferente.

Esse método fornece precisão de nanossegundos, mas não necessariamente resolução de nanossegundos (ou seja, com que frequência o valor muda) – nenhuma garantia é feita, exceto que a resolução é pelo menos tão boa quanto a de #currentTimeMillis().

As diferenças em chamadas sucessivas que abrangem mais de aproximadamente 292 anos (2<sup>63</sup> nanossegundos) não computarão corretamente o tempo decorrido devido ao estouro numérico.

Os valores retornados por esse método se tornam significativos somente quando a diferença entre dois desses valores, obtida na mesma instância de uma máquina virtual Java, é computada.

Por exemplo, para medir quanto tempo algum código leva para ser executado:

{@code
            long startTime = System.nanoTime();
            // ... the code being measured ...
            long estimatedTime = System.nanoTime() - startTime;}

Para comparar dois valores nanoTime

{@code
            long t0 = System.nanoTime();
            ...
            long t1 = System.nanoTime();}

deve-se usar t1 - t0 < 0, não t1 < t0, devido à possibilidade de estouro numérico.

O valor retornado por esse método não contabilize o tempo decorrido durante o sono profundo. Para obter recursos de manutenção de tempo disponíveis no Android, consulte android.os.SystemClock.

Adicionado em 1.5.

Java documentação para java.lang.System.nanoTime().

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.

Aplica-se a