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

2D Java Discussion :

probléme avec les grandes images


Sujet :

2D Java

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut probléme avec les grandes images
    salut tous le monde
    lors de chargement d'une image de grande taille ,j'obtient cette exception que je mattendait toujour

    Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

    exist'il une heuristiques ?

  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 : 43
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Ton message ne veut rien dire
    Ca va pas être facile de t'aider

  3. #3
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    je veut afficher une image , apartir d'un fichier ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    BufferedImage image = ImageIO.read(new File("path");
    les BufferedImage occupe un espace important en mémoire,c'est pourquoi j'obtient cette expception Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
    si l'image est de grande taille .
    je cherche s'il ya une méthode qui me permet par exemple d'agrandir l'espace mémoire réservé à mon programme ou aux objets BufferedImage

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah suffit de fouiller dans la doc de la JVM pour ça.
    http://java.sun.com/javase/technolog.../vmoptions.jsp

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 878
    Points
    22 878
    Billets dans le blog
    51
    Par défaut
    tu peux également essayer d'utiliser les PlanarImage du JAI (Java Advanced Imaging) qui ne chargent pas intégralement les images en mémoire. par contre cela risque de t'obliger à revoir certaines portions de ton code.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 78
    Points : 58
    Points
    58
    Par défaut
    Pour augmenter la taille de l'espace mémoire que tu autorises à ton application, tu peux utiliser les paramètres suivants dans le launcher :
    -Xms : taille minimum de mémoire affectée par l'application dès le lancement
    -Xmx : taille maximum (quand cette taille maxi est atteinte, il y a le java heap space

    Exemple : -Xms64m -Xmx1500m
    => 64 mo affectés à l'appli dès le lancement
    => 1,5 go maxi utilisable par l'appli

    essaie de voir la consommation mémoire de ton appli en regardant son process et ajuste ensuite tes paramètres

  7. #7
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par bouye Voir le message
    tu peux également essayer d'utiliser les PlanarImage du JAI (Java Advanced Imaging) qui ne chargent pas intégralement les images en mémoire. par contre cela risque de t'obliger à revoir certaines portions de ton code.
    c'était une mauvaise conception de ma part pour l'application et j'aurais du travaillé des le début avec l'API JAI pour plusieurs autres raisons...
    pour mon idée d'augmentation de la taille mémoire réservé, c'est déjà résolut mais puisque ce sujet est réouvert après avoir oublié de le qualifier résolu ,je me pose la question de comment procéder pour le cas d'une Applet ou une application graphique qui sera déployé chez un client qui exécute l'application avec javaw ?

  8. #8
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 854
    Points : 22 878
    Points
    22 878
    Billets dans le blog
    51
    Par défaut
    Tu met les JAR, DLL et LIB du JAI sur le site et tu les referrences dans les ressources de l'applet et les ressources du JNLP. Par contre vu qu'il y a des libs natives il faudra peut-être signer ton applet non ?

  9. #9
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par bouye Voir le message
    Tu met les JAR, DLL et LIB du JAI sur le site et tu les referrences dans les ressources de l'applet et les ressources du JNLP. Par contre vu qu'il y a des libs natives il faudra peut-être signer ton applet non ?
    peut être j''ai pas bien poser la question mais ce que j'ai voulu savoir c'était pas comment deployé une applet.
    le problème du début etait comment augmenter la taille en mémoire de la JVM, et chez moi, j'exécute mon jar avec cette commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java  -Xmx1500m monApplication.jar
    et donc je me demande qu'un client qui ne sait faire qu'un double clique , il va rencontré un problème s'il ouvre une image de grande taille avec une JVM configuré chez lui à un espace mémoire maximale très réduit !!??

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par slim_java Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java  -Xmx1500m monApplication.jar
    C'est vraiment trop comme taille max. Au pire un 512M, mais avec un 1500M tu peux mettre à genoux la bécane de l'utilisateur. Juste comme ça des monstres comme eclipse ou Websphere Application Server tournent juste avec 1024M (voir 512M). Et ce sont vraiment des gloutons de première, pas une simple applet permettant d'afficher des images.

Discussions similaires

  1. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  2. Problème avec les Boutons Image
    Par abdoing dans le forum Struts 1
    Réponses: 4
    Dernier message: 29/06/2007, 10h35
  3. [GD] Problème de mémoire avec les grandes images en PHP
    Par bodysplash007 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 12/04/2007, 17h02
  4. Réponses: 6
    Dernier message: 17/11/2005, 14h39
  5. TreeView - Problème avec les images
    Par LoicH dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/06/2005, 18h50

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