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

Java Discussion :

Création d'un grand panel - Memory Leak


Sujet :

Java

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2007
    Messages : 50
    Par défaut Création d'un grand panel - Memory Leak
    Bonjour (ou rebonjour) !

    J'ai un bug très moche dans mon programme, une Memory Leak...

    J'envoie une requête à un serveur et je récupère un fichier XML qui selon les options de la requête peut-être TRES TRES grand. J'unmarshall le résultat (déjà ça, ça a tendance à prendre de la place) mais je dois ensuite l'afficher !
    Alors je récupère les valeurs stockées dans les objets initialisés par l'unmarshall et les affiche dans un JPanel.

    Il se trouve qu'au-delà d'une certaine taille, il me fait un Memory Leak sans afficher le panel.

    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
    at java.awt.MultipleGradientPaintContext.calculateSingleArrayGradient(MultipleGradientPaintContext.java:336)
    at java.awt.MultipleGradientPaintContext.calculateSingleArrayGradient(MultipleGradientPaintContext.java:336)
    at java.awt.MultipleGradientPaintContext.calculateLookupData(MultipleGradientPaintContext.java:286)
    at java.awt.MultipleGradientPaintContext.<init>(MultipleGradientPaintContext.java:198)
    at java.awt.LinearGradientPaintContext.<init>(LinearGradientPaintContext.java:72)



    A savoir qu'en utilisant des objets graphiques moins lourds (j'affiche par exemple une séquence de protéine sans couleur au lieu d'y mettre des couleurs), le seuil au-dessus de laquelle il me fait une Memory Leak est plus grand, donc je peux afficher plus de données.

    Question : y-a-t-il un moyen d'afficher mon panel "par étapes" : j'affiche une partie de mes données, je passe par le garbage collector, j'affiche une autre partie de mes données etc... ?

    Voilà voilà

    Merci de votre lecture

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ce n'est pas une memory leak. Tu n'en as pas assez, c'est tout (et c'est déjà pas mal me diras-tu...).
    Par contre, sans code, ça va être difficile de t'aider.
    Voici quelques idées comme ça :
    1. puisque le fichier XML est volumineux, tenter de le découper pour l'unmarshalling. Peut-être y-a-t-il des sections indépendantes les unes des autres,
    2. ne construire que ce qui est à afficher. Et ne rien stocker dans des listes,
    3. réduire la taille des objets au minimum en limitant le nombre et la taille des données membres,
    4. augmenter la taille de la RAM allouée à la JVM.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

Discussions similaires

  1. Panel.Controls.Clear : memory leak ?
    Par 29kiteman dans le forum VB.NET
    Réponses: 5
    Dernier message: 23/01/2009, 10h19
  2. [MFC] Thread & memory leaks
    Par Racailloux dans le forum MFC
    Réponses: 7
    Dernier message: 15/03/2005, 12h44
  3. Memory leak en C/C++
    Par Roswell dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 07/07/2004, 19h41
  4. [MFC] A la chasse au memory leak
    Par Yabo dans le forum MFC
    Réponses: 17
    Dernier message: 27/06/2004, 17h35
  5. Réponses: 7
    Dernier message: 26/02/2004, 09h32

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