IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

DDMS : interprétation de Head et Allocation tracker


Sujet :

Android

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut DDMS : interprétation de Head et Allocation tracker
    Bonjour,

    j'ai une application qui déclenche beaucoup de GC_EXTERNAL_ALLOC ,qui, si j'ai bien compris signifie que le GC essai de récupérer de la mémoire pour de nouveaux objets.

    J'ai donc voulu utiliser les fonctions Heap et Allocation tracker du DDMS pour voir un peu ce qu'il se passe.
    Le problème étant que je ne comprend pas grand chose au résultat obtenus :

    Coté heap (voir pj) j'ai clairement 2 sources importantes de consommation mémoire , des tableaux de char et également "data object". mais à quoi cela correspond il ? "data object" à un nombre d'objet très élevé , peut être qu'il y'a moyen de travailler la dessus ?

    Coté allocation tracker(voir pj) c'est un peu plus clair. Cependant je vois beaucoup d'allocation d'une même variable au sein d'un même thread.
    Le rapport veux t'il dire que mon thread 10 consome 7x 50ko ?
    Le buffer concerné contient une image récupéré via socket puis envoyé au threadUI via message. Le thread ne devrais donc à priori pas consommer plus que la taille d'une image (en omettant les petits objets annexes )

    Extrais de l'utilisation du buffer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //Allocation d'un buffer uniquement si supérieur au précédent
    if(this.lastJpgSize < tailleJPG || this.lastJpgSize == 0 || this.datas == null)
    	this.datas		= new byte[tailleJPG];
    this.lastJpgSize = tailleJPG;
    Remplissage du buffer via la socket :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataRead = this.client.getReader().read(this.datas, bufferOffset, (tailleData - dataLu));
    Création de l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = BitmapFactory.decodeByteArray(this.datas, 0, tailleJPG);
    Insertion de l'image dans un objet puis envoi de l'objet via message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Bitmap image = getImage();
    imageCam.setImage(image);
    this.message = this.handler.obtainMessage(IMAGE_AVAILABLE,imageCam);
    handler.sendMessage(this.message);
    J'ai un taux de demande d'image fixé à 10 ips , cependant une demande n'est faite qu'une fois le message précédent envoyé , je ne comprend donc pas pourquoi autant d'allocation apparaisse.

    Existe il des outils me permettant de voir clairement combien de mémoire mon application utilise et si possible quel partie du code le fait ?

    merci pour votre aide
    Images attachées Images attachées   
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Section <head> </head> non interprétée
    Par olive_le_malin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/12/2007, 17h57
  2. outil permettant de tracker les alloc/dealloc memoire
    Par bob8181_2000 dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/09/2005, 19h57
  3. Réponses: 4
    Dernier message: 03/12/2002, 16h47
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Allocation de ressources
    Par Eric Pasquier dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/10/2002, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo