Je vais regarder ce qui se passe quand un événement de souris est actionné, si c'est ce qui fait augmenter la mémoire utilisée.
Concernant les effets de bord, il sont clairs : le process grossit et donc peut aller jusqu'à saturer la mémoire, provoquer du swap et par conséquent ralentir toute la machine.
A un certain moment, la taille utilisée va atteindre la limite autorisée pour cette Java Virtual Machine (je n'ai pas regarder à quelle valeur tu l'as fixée) et le programme va planter...
Jean.
Le 17/12/2020 à 20:12, oStorybook a écrit :
Ce message est plutôt pour Jean.
C'est un problème lié au "garbage collector". À l'occasion d'une
recherche suite à une anomalie signalée par Bernard (je ne me souviens
plus laquelle) je me suis rendu compte que le simple fait de déplacer la
souris provoquait une augmentation de l'occupation mémoire. À l'origine
il y avait un appel régulier au garbage collector que j'avais supprimé.
Du coup j'ai remis un appel lors de chaque appel aux fonctions
showAndFocus et showEditorAsDialog. Le résultat est le suivant: après le
démarrage, 183Mo dans une configuration minimaliste (Livre + Scènes +
Personnages + Lieux), après ouverture d'un dialogue (par exemple une
scène) la mémoire descend à ... 43Mo. Puis elle va remonter doucement
jusqu'à ce que j'ouvre un autre dialogue. Sauf que... est-ce que ça peut
avoir un effet de bord, et si oui lequel?