J'utilise OS X 10.5.6. J'ai une application C++ avec une interface graphique faite avec Qt. Quand je démarre mon application, il utilise 30 Mo de mémoire (rapporté par OS X Activity Monitor RSIZE).Utilisation de la mémoire de l'application C++/Qt
J'utilise cette application pour lire des fichiers texte en mémoire, analyser les données et enfin les visualiser. Si j'ouvre (lire en mémoire, analyser, visualiser) un fichier texte de 9 Mo Le moniteur d'activité signale que mon application passe des 30 Mo de mémoire initiaux utilisés à 103 Mo.
Maintenant, si le fichier est fermé et que les données analysées et visualisées sont supprimées, la taille de l'application reste à 103 Mo. Cela ressemble à une fuite de mémoire pour moi. Mais si j'ouvre à nouveau le fichier, le lisons en mémoire, l'analysant et le visualisant, l'application reste à 103 Mo. Peu importe le nombre de fois que j'ouvre le fichier (ou un autre fichier de la même taille), l'utilisation de la mémoire de mes applications reste plus ou moins inchangée. Cela signifie-t-il que ce n'est pas une fuite de mémoire? S'il s'agissait d'une fuite, l'utilisation de la mémoire devrait continuer de croître chaque fois que le fichier est ouvert, n'est-ce pas? Le seul moment où il se développe est si j'ouvre un fichier plus volumineux que le précédent.
Est-ce normal? Cette plateforme ou bibliothèque est-elle dépendante? Est-ce une sorte de mise en cache effectuée par le système d'exploitation ou les bibliothèques?