2010-10-15 15 views

Répondre

2

Que voulez-vous dire par runtime? Le temps écoulé après le lancement d'une application?

Je ne pense pas qu'il existe une méthode directe qui puisse vous donner le temps écoulé. Vous pouvez maintenir une minuterie sur vous-même.

Vous pouvez également utiliser System.nanoTime() pour obtenir la synchronisation la plus précise.

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

Modifier ---

Oui je pense que Ben est correct .. Si vous voulez mesurer combien de temps un processus est en cours d'exécution, vous pouvez essayer d'utiliser cette approche android.os.Process.getElapsedCpuTime() - Cela devrait revenir les millisecondes écoulées que votre processus a exécutées. Je crois que votre application devrait également fonctionner sur un ID de processus unique. Donc, ce temps devrait être bon

+0

+1 pour le temps écoulé. C'est un bon conseil. – mschonaker

+0

Trouvé celui-ci intéressant: http://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtime%28%29 – mschonaker

0

Vous pouvez essayer d'obtenir l'heure actuelle lorsque vous démarrez l'application, puis lorsque vous voulez savoir depuis combien de temps l'application fonctionne, il vous suffit de récupérer l'heure actuelle et de soustraire les deux pour obtenir la différence.

// store this as a global variable when you start the app 
long start = System.currentTimeMillis(); 

... 

// run this method when you want to query how long the app has run for 
public long getTimeInMillisecondsAppHasRun() 
{ 
    long current = System.currentTimeMillis(); 
    return current - start; 
} 
+0

En fait, cela peut ne pas être la meilleure méthode. Si l'heure du système est modifiée, ces mesures seront effectuées. Voir http://developer.android.com/reference/java/lang/System.html#currentTimeMillis%28%29 pour plus de détails. –