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 :

Problème images et crash


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Problème images et crash
    Bonjour,

    Voilà, sur mes applications je remarque que si je place trop d'images j'ai des crash aux chargements des activités du style Binary XML file line #181: Error inflating class

    Je crois que ça doit venir de la mémoire utilisée par les images qui se retrouve saturée.

    Comment je pourrais éviter ce type de crash en gardant les images ?

    Merci

  2. #2
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Bonjour, est-ce que tu peux nous fournir le xml de déclaration, et est-ce que ton classpath contient bien la class demandée ?
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <?xml version="1.0" encoding="utf-8"?>
     
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:background="#4f5f76">
     
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="150dp"
            android:id="@+id/imageView"
            android:src="@drawable/logochoix"
            android:scaleType="fitCenter" />
     
        <Button
            android:layout_width="250dp"
            android:layout_height="55dp"
            android:background="@drawable/designbutton1"
            android:textColor="#4f5f76"
            android:textSize="18dp"
            android:text="@string/connexion"
            android:id="@+id/btnconnexion"
            android:layout_marginTop="40dp"
            android:layout_marginBottom="40dp" />
     
        <Button
            android:layout_width="250dp"
            android:layout_height="55dp"
            android:background="@drawable/designbutton1"
            android:textColor="#4f5f76"
            android:textSize="18dp"
            android:text="@string/inscription"
            android:id="@+id/btninscription" />
     
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/ML1"
            android:id="@+id/txtmentLeg"
            android:textSize="13dp"
            android:textColor="#fbd099"
            android:layout_marginTop="20dp"/>
     
    </LinearLayout>
    Au niveau de la classe tout va bien, le problème vient d'une erreur OutofMemoryError

  4. #4
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Hum ça n'as pas l'air énorme pourtant ce layout...
    Essaye d'enlever l'image pour vérifier que c'est bien elle.
    Si oui, essaye d'en prendre une plus petite.

    Si tout le reste ne marche pas, il faut déterminer ce qui doit être visible et ne charger que ça à chaque fois...
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Oui le problème vient de la taille de l'image, je pourrais la réduire mais je pense surtout que le problème vient de l'accumulation de trop d'images en passant d'une activité à l'autre.

    J'aimerais essayer de vider la mémoire à chaque changement de page, peut-on utiliser des destructeur ou un garbadge collector ? Comment ?

  6. #6
    Membre averti Avatar de Drakiss
    Homme Profil pro
    Consultant MOE
    Inscrit en
    Octobre 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Consultant MOE
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 185
    Points : 435
    Points
    435
    Par défaut
    Pour appeler manuellement le Garbage Collector :
    Et effectivement d'après ce que je peux lire un peu partout, il marche automatiquement pour les objets mais pas pour les Bitmaps.
    Désolé pour la réponse tardive, je pense que tu as résolu le problème de toi-même, si ce n'était pas le cas, et que le GC fonctionne pour ton cas, n'hésite pas à clore la discussion.
    Bon courage !
    I
    Aussi haut que soit le trône on n'est jamais assis que sur son cul...

  7. #7
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Drakiss Voir le message
    Pour appeler manuellement le Garbage Collector :
    Non non et non !
    Il ne faut pas appeler manuellement le GC ! Il sait très bien faire son travail tout seul.
    Avant de propager une OutOfMemory, il aura déjà tout tenté pour libérer la mémoire...

    Au mieux, l'appel manuel du GC sera ignoré.
    Au pire, cela peut dégrader les performances de l'application (en effectuant des full-GC inutile et gourmand).



    Le truc, c'est que les Bitmaps ne représentent pas seulement un objet Java, mais également une ressource native qu'il faut libérer explicitement via la méthode recycle (et ceci n'est pas le rôle du GC).


    a++

Discussions similaires

  1. Problème image rotator
    Par eiffel74 dans le forum ASP
    Réponses: 1
    Dernier message: 10/04/2007, 23h02
  2. [Access2003]Problème images
    Par Yanovitch dans le forum IHM
    Réponses: 20
    Dernier message: 16/03/2007, 15h20
  3. [PHP-JS] problème image mouseover
    Par maximew dans le forum Langage
    Réponses: 1
    Dernier message: 12/02/2007, 16h45
  4. Problème image défilante
    Par reg64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 20/12/2006, 18h05
  5. Problème image
    Par rafiduck dans le forum Multimédia
    Réponses: 9
    Dernier message: 15/03/2006, 20h44

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