salve ragazzi, ho postato una o piu discussioni in passato riguardo al GC e mi ero convinto che in effetti funzionava a dovere.
Oggi ho integrato nel mio programma java una funzionalità che permette di caricare un foto e salvarla in un certo path. Bene, solo questa situazione mi succhia 150MB di ram....oltre al costo di tutto il resto.
Quindi apro il task manager e guardo l'evoluzione del mio programma...continuo a lavorare, apro pannelli istanzio oggetti, chiamate al DB e cavolate varie ...ma quei 150 MB non vogliono andarsene.
ho provato a forzare la chiamata con System.gc();
ho provato a settare a null i miei oggetti image, ho provato a tenere 15 minuti buoni il programma aperto sperando che il tutto restasse inutilizzato per un bel po e quindi il GC potesse pulire il tutto...ma niente....
Succede una cosa analoga se apro sempre lo stesso pannello....essendo pesante, prendo 10MB di ram...arrivo ad aprire circa una decina e la memoria ne risente aumentando, pero oltre un certo limite non va anche se ne apro di infiniti di questi pannelli/oggetti....Inoltre la memoria non "scende" in questi casi...
Come potete spiegarmelo? Grazie...

Rispondi quotando