Ich bin nicht mit einem solchen Äquivalent in der Java-API vertraut.
Denken über die Java-API hinaus, jedoch ... könnten Sie irgendwelche nützliche Informationen von top
einholen?
top -t
wird anscheinend Thread-spezifische Informationen in die Berichterstattung enthalten. hier ist das Ergebnis auf einer meiner Geräte ab:
scheint es Thread und CPU-Nutzungsdaten zur Verfügung stehen.
Zugriff auf diese Ausgabe würde einige primitive Form der Eingabe-Stream-Behandlung, z.
try {
final String cmd = "top -t"
final Process ps = Runtime.getRuntime().exec(cmd);
ps.waitFor();
final InputStream instream = ps.getInputStream();
...
} catch(Throwable t) { /* handle errors */ }
} finally { /* clean-up */ }
CPU-Zeit definieren. Willst du Zeit, seit die CPU gestartet wurde, verstrichene Zeit, Wandzeit, etwas anderes? Welche Präzisionsstufe suchen Sie? –
Auch unter Standard-Java gibt es kein Versprechen, dass currentThreadCpuTime unterstützt wird. –
Ich möchte die Laufzeit einer Methode in Android profilieren. Wenn ich die Zeit mit 'System.nanoTime()' (zB t1 = System.nanoTime(); methodCall(); timeDiff = System.nanoTime() - t1;), andere Timing-Messungen (z. B. Kontextwechselzeit, andere Thread-Laufzeiten) werden in die berechnete Zeitdifferenz einbezogen. Also, ich möchte nur die Ausführungszeit für diesen bestimmten Thread berechnen. Soweit ich weiß, können wir im Standard-Java 'getCurrentThreadCpuTime()' verwenden. Aber ich weiß nicht, wie man das in Android macht. – cagryInside