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
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
}
Merci d'avance !