JavaSystem.NanoTime Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el valor actual del origen de tiempo de alta resolución de la máquina virtual en ejecución Java, en nanosegundos.
[Android.Runtime.Register("nanoTime", "()J", "")]
public static long NanoTime();
[<Android.Runtime.Register("nanoTime", "()J", "")>]
static member NanoTime : unit -> int64
Devoluciones
el valor actual del origen de tiempo de alta resolución de la máquina virtual en ejecución Java, en nanosegundos
- Atributos
Comentarios
Devuelve el valor actual del origen de tiempo de alta resolución de la máquina virtual en ejecución Java, en nanosegundos.
Este método solo se puede usar para medir el tiempo transcurrido y no está relacionado con ninguna otra noción de tiempo del sistema o del reloj. El valor devuelto representa nanosegundos, ya que algún tiempo de origen fijo pero arbitrario (quizás en el futuro, por lo que los valores pueden ser negativos). Todas las invocaciones de este método usan el mismo origen en una instancia de una máquina virtual Java; es probable que otras instancias de máquina virtual usen un origen diferente.
Este método proporciona precisión nanosegunda, pero no necesariamente resolución nanosegunda (es decir, la frecuencia con la que cambia el valor): no se realiza ninguna garantía, excepto que la resolución es al menos tan buena como la de #currentTimeMillis().
Las diferencias en llamadas sucesivas que abarcan más de aproximadamente 292 años (2<sup>63</sup> nanosegundos) no calcularán correctamente el tiempo transcurrido debido a un desbordamiento numérico.
Los valores devueltos por este método solo son significativos cuando se calcula la diferencia entre dos valores de este tipo, obtenidos dentro de la misma instancia de una máquina virtual Java.
Por ejemplo, para medir cuánto tiempo tarda algún código en ejecutarse:
{@code
long startTime = System.nanoTime();
// ... the code being measured ...
long estimatedTime = System.nanoTime() - startTime;}
Para comparar dos valores nanoTime
{@code
long t0 = System.nanoTime();
...
long t1 = System.nanoTime();}
se debe usar t1 - t0 < 0, no t1 < t0, debido a la posibilidad de desbordamiento numérico.
El valor devuelto por este método no tiene en cuenta el tiempo transcurrido durante la suspensión profunda. Para obtener instalaciones de mantenimiento de tiempo disponibles en Android, consulte android.os.SystemClock.
Agregado en 1.5.
Java documentación para java.lang.System.nanoTime().
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.