Bonjour,
J'ai un petit soucis de mémoire... j'ai une application qui fait prend une base d'environ 500 titres de films et va chercher les informations sur allocine.
Seulement au bout de 150-200 trouvailles, je me mange un joli "java.lang.OutOfMemoryError : Java heap space".
Qu'à cela ne tienne me suis-je dit, j'ai mis quelques traces à base de Runtime, ce qui m'a permis de me rendre compte que le problème vient "petit à petit", c'est à dire que c'est pas une seule recherche qui me bouffe mes 60Mo, mais je perds un peu de terrain au fur et à mesure.
En plus c'est même pas régulier, c'est une augmentation en dent de scie, je perds 4Mo, j'en regagne 2, j'en reperds un peu, j'en gagne 2 fois... mais globalement je me fais grignoter mon tas.
Ma question est donc simple : dans le but de trouver l'origine du drame, quelle est la procédure à suivre? Que me conseillez vous ? Parce que j'ai moyennement envie de mettre de la trace de partout sans trop savoir ou chercher...
D'où peut venir ce problème ? Enfin, quelles sont les raisons les plus courantes ? Histoire que je sache vers où chercher...
Typiquement l'algo est le suivant
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for each titre { String = pageAllocine (titre) Creation d'un objet "Film" parsage du String pour mettre les infos dans cet objet téléchargement de l'affiche du film }
Partager