Langue

JavaSystem.NanoTime Méthode

Définition

Retourne la valeur actuelle de la source de temps haute résolution de la machine virtuelle Java en cours d'exécution, en nanosecondes.

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

Retours

valeur actuelle de la source de temps haute résolution de la machine virtuelle en cours d'exécution Java, en nanosecondes

Attributs

Remarques

Retourne la valeur actuelle de la source de temps haute résolution de la machine virtuelle Java en cours d'exécution, en nanosecondes.

Cette méthode ne peut être utilisée que pour mesurer le temps écoulé et n’est liée à aucune autre notion de temps système ou d’horloge murale. La valeur retournée représente des nanosecondes depuis un temps d’origine fixe mais arbitraire (peut-être à l’avenir, donc les valeurs peuvent être négatives). La même origine est utilisée par tous les appels de cette méthode dans une instance d’une machine virtuelle Java ; d’autres instances de machine virtuelle sont susceptibles d’utiliser une autre origine.

Cette méthode fournit une précision nanoseconde, mais pas nécessairement une résolution nanoseconde (autrement dit, la fréquence à laquelle la valeur change) - aucune garantie n’est faite, sauf que la résolution est au moins aussi bonne que celle de #currentTimeMillis().

Les différences dans les appels successifs qui s’étendent sur environ 292 ans (2<sup>63</sup> nanosecondes) ne calculent pas correctement le temps écoulé en raison d’un dépassement numérique.

Les valeurs retournées par cette méthode deviennent significatives uniquement lorsque la différence entre deux valeurs de ce type, obtenues dans la même instance d’une machine virtuelle Java, est calculée.

Par exemple, pour mesurer le temps nécessaire à l’exécution d’un code :

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

Pour comparer deux valeurs nanoTime

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

on doit utiliser t1 - t0 < 0, pas t1 < t0, en raison de la possibilité de dépassement numérique.

La valeur retournée par cette méthode ne tient pas compte du temps écoulé pendant le sommeil profond. Pour les installations de chronométrage disponibles sur Android voir android.os.SystemClock.

Ajouté à la version 1.5.

Java documentation pour java.lang.System.nanoTime().

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à