Bonjour,
Il faut utiliser un profiler pour voir par quel package et quel objet utilise le plus la ressource.
Je ne connais pas de profiler autre que le plug-in "profiler" pour éclipse, je pense qu'il doit en existé d'autre, en freeware.
Sinon pour le problème outOfMemory :
1. ajouter de la mémoire par l'option :
-Xmx[mémoireAlouéJVM]m
Mais ceci ne réglera pas le problème de mémoire, mais donnera [mémoireAlouéJVM] MO à la JVM
2. mettre la valeur
null
à chaque fois qu'un objet n'est plus utilisé, ceci "peut" accélérer le passage du garbage collector. Enfin, tout le monde n'est pas d'accord sur ce point.
3. demander le passage du garbage collector
System.gc();
mais rien ne garantie qu'il passera.
Avec les points 2 et 3, et un découpage en morceaux, j'ai réussit à maintenir une méthode récursive en dessous de 64 Mo alors que sans, je dépassais allégrement les 300Mo de la JVM.
Arrff
lof.