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 ?
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 ?
Ton message ne veut rien dire
Ca va pas être facile de t'aider
je veut afficher une image , apartir d'un fichier ,
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BufferedImage image = ImageIO.read(new File("path");
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
Bah suffit de fouiller dans la doc de la JVM pour ça.
http://java.sun.com/javase/technolog.../vmoptions.jsp
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.
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
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 ?
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 commandeet 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 !!??
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager