JavaSystem.NanoTime Método
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.
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.