comment faire pour obtenir l'utilisation de la mémoire et de l'utilisation du processeur par l'application?
J'ai trouvé ce code pour obtenir globale de l'utilisation de l'uc. est-ce possible de convertir ce à dire l'utilisation du processeur par le processus? Est-il un API par lequel nous pouvons obtenir de l'UC ou de la Mémoire d'android?
private float readUsage() {
try {
RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
String load = reader.readLine();
String[] toks = load.split(" ");
long idle1 = Long.parseLong(toks[5]);
long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
+ Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);
try {
Thread.sleep(360);
} catch (Exception e) {}
reader.seek(0);
load = reader.readLine();
reader.close();
toks = load.split(" ");
long idle2 = Long.parseLong(toks[5]);
long cpu2 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
+ Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);
return (float)(cpu2 - cpu1) / ((cpu2 + idle2) - (cpu1 + idle1));
} catch (IOException ex) {
ex.printStackTrace();
}
return 0;
}
OriginalL'auteur Ravi Patel | 2012-03-18
Vous devez vous connecter pour publier un commentaire.
Dans le système d'exploitation moderne, app utiliser des bibliothèques partagées. Par conséquent, la mémoire est utilisée
par plusieurs applications, ce qui complique la détermination d'un apps utilisation de la mémoire.
dalvikPrivateDirty est la mémoire qui serait libérée par le java
la machine virtuelle si le processus est tué
un autre code (je ne sais pas quoi d'autre il ya)
otherPrivateDirty dalvikSharedDirty est la mémoire partagée utilisée par le
la machine virtuelle java, Mais ce ne serait pas libéré
si cette application est tué dalvikPss – une estimation de la quantité de mémoire
utilisé par l'application. Cela comprend toute la mémoire privée, et un
fraction de la mémoire partagée Vérifier que pss >= privé de La raison
que seule une fraction de la mémoire partagée est utilisée est de sorte qu'
le caractère raisonnable de la mémoire partagée pour l'utilisation dans tous les responsables des applications
Cette valeur est utilisée pour estimer la charge de mémoire de l'application.
Les totaux sont la somme sur le dalvik, natif, et d'autres.
OriginalL'auteur Ravi Patel
Lire /proc/[pid]/stat - [pid] est votre cible de processus pid
Ensuite, regardez pour les membres ci-après.
homme /proc @ http://linux.die.net/man/5/proc
OriginalL'auteur sksEng
Essayez ceci:
OriginalL'auteur niva
Lors de l'Exécution de votre application, Exécutez le DDMS outil qui est présent dans Android-sdk\tools dossier. Où vous pourrez obtenir les détails complets sur tous les processus en cours d'exécution. Si vous avez debug activé Appareil Android, alors vous pouvez déboguer même de l'appareil en le connectant au système.
je veux permettre à l'utilisateur de connaître directement dans l'application des processus qui utilise le pourcentage de cpu.
Il veut faire dans le code comme les autres apps de ne pas utiliser le DDMS environnement
OriginalL'auteur Pavandroid