Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PAs assez de mémoire sur un pda

2 réponses
Avatar
td
Bonjour,
Nous avons une application qui tourne sur un PDA. La mémoire dispo avant de
commencer à travailler avec est de 25Mo environ.
L'appli est découpée en plusieurs dll pour éviter de tout charger en même
temps.
Or, on se rend compte qu'au fur et à mesure de l'utilisation, la mémoire
dispo tend vers zéro.
Pour info, chaque appel à des ressources est mis entre des "using". Le
garbagge collecteur n'est pas appelé pour nos soins.

D'avance merci pour toute l'aide que quelqu'un peut apporter.

2 réponses

Avatar
Loïc Berthollet
2 pistes classiques :
- des références circulaires qui empêchent le garbage collector de
fonctionner correctement. Un outils tel "Ants Profiler" peut aider à
localiser les problèmes. (il ne travaille que sur de la mémoire managée).
- des ressources non-managées qui ne seraient pas libérés explicitement (le
garbage collector ne travaille que sur la mémoire managée, et l'utilisation
de "using" ne change rien).

Plus une remarque: le garbage collector à tendance à libérer la mémoire que
lorsque l'application n'en a besoin. c'est à dire qu'il peut très bien ne
rien libérer pendant un grand moment...

Ne pouvez-vous faire un programme de test qui n'utilise que certaines DLL ou
certaines fonctionnalités de manière automatique et répétitive, de manière à
localiser la fuite mémoire ?

Loïc


"td" <thierrydotdistelatwurthdotfr> a écrit dans le message de groupe de
discussion : #
Bonjour,
Nous avons une application qui tourne sur un PDA. La mémoire dispo avant
de commencer à travailler avec est de 25Mo environ.
L'appli est découpée en plusieurs dll pour éviter de tout charger en même
temps.
Or, on se rend compte qu'au fur et à mesure de l'utilisation, la mémoire
dispo tend vers zéro.
Pour info, chaque appel à des ressources est mis entre des "using". Le
garbagge collecteur n'est pas appelé pour nos soins.

D'avance merci pour toute l'aide que quelqu'un peut apporter.




Avatar
td
Merci pour la réponse. C'est une grosse appli de gestion commerciale : le
test simple sera donc difficile à réaliser.
Pour info, je suis sur une piste : la nouvelle version de notre appli
utilise pas mal de userControl. Or le dispose de base ne se fait pas : il
faut le forcer. On est en train de tester.
Je donnerai des nouvelles.


"Loïc Berthollet" a écrit dans le message de
news:
2 pistes classiques :
- des références circulaires qui empêchent le garbage collector de
fonctionner correctement. Un outils tel "Ants Profiler" peut aider à
localiser les problèmes. (il ne travaille que sur de la mémoire managée).
- des ressources non-managées qui ne seraient pas libérés explicitement
(le garbage collector ne travaille que sur la mémoire managée, et
l'utilisation de "using" ne change rien).

Plus une remarque: le garbage collector à tendance à libérer la mémoire
que lorsque l'application n'en a besoin. c'est à dire qu'il peut très bien
ne rien libérer pendant un grand moment...

Ne pouvez-vous faire un programme de test qui n'utilise que certaines DLL
ou certaines fonctionnalités de manière automatique et répétitive, de
manière à localiser la fuite mémoire ?

Loïc


"td" <thierrydotdistelatwurthdotfr> a écrit dans le message de groupe de
discussion : #
Bonjour,
Nous avons une application qui tourne sur un PDA. La mémoire dispo avant
de commencer à travailler avec est de 25Mo environ.
L'appli est découpée en plusieurs dll pour éviter de tout charger en même
temps.
Or, on se rend compte qu'au fur et à mesure de l'utilisation, la mémoire
dispo tend vers zéro.
Pour info, chaque appel à des ressources est mis entre des "using". Le
garbagge collecteur n'est pas appelé pour nos soins.

D'avance merci pour toute l'aide que quelqu'un peut apporter.