JavaSystem.NanoTime Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.