2010-11-10 2 views
2

J'ai besoin de profiler plusieurs fonctions dans mon code java pour Android.Existe-t-il un outil de profilage orienté sur l'instruction pour Android?

Je connais les traces. Et j'ai effectivement trouvé quelles fonctions enquêter en utilisant cet outil. Mais il ne donne aucune information qui peut aider dans les enquêtes à l'intérieur des fonctions spécifiques.

Alors, y a-t-il un moyen d'obtenir des informations de profilage par instruction pour le code Java sur Android?

+0

Je ne m'inquiéterais pas du profilage au niveau de l'instruction. Que faites-vous qui a besoin d'un tel réglage? Si VRAIMENT a vraiment besoin d'être optimisé, pensez à l'écrire en C++ en utilisant le NDK. – Falmarri

+1

Vous avez probablement besoin de regarder la conception de la fonction, pas une ligne particulière. Utilisez-vous un algorithme n^2 ou faites-vous beaucoup d'io inutiles? –

+0

@inazaruk: "Mais cela ne donne aucune information qui peut aider dans les recherches à l'intérieur de fonctions spécifiques" - il n'y a pas de "fonctions" en Java, donc je suppose que vous faites référence à des méthodes. Si votre méthode est si longue que la vérification de bureau ne peut pas déterminer où est votre goulot d'étranglement, alors écrivez des méthodes plus courtes. – CommonsWare

Répondre

0

Je suggère que vous pouvez essayer 'hprof' dans votre code Java pour vider les données profilées dans un fichier et vous pouvez analyser ce fichier pour plus de détails.

API à utiliser:
dumpHprofData(String fileName)

Si vous êtes intéressé par le profilage de niveau plus granulaire alors vous pouvez essayer « readprofile » qui fonctionne au niveau du noyau. Vous auriez besoin de 'busybox' pour l'utiliser cependant. Cependant, je suppose que vous devez mapper les instructions avec vos instructions Java.

Questions connexes