Memoria Esaurita

lunedì 30 ottobre 2006 - 19.11

Carlik Profilo | Junior Member

Salve,Nella mia applicazione devo caricare diverse immagini il cui percorso è memorizzato in un db.
Utilizzo quindi un ciclo for per caricare queste immagini,ma quando le carico mi nasce un problema:un errore riguardante la memoria che risulta esaurita.Premetto che non posso diminuire il numero di immagini che sono circa quaranta.
Qualcuno si è mai imbattuto in problemi del genere? e come li ha risolti?

Fantazma Profilo | Junior Member

Ciao
che sistema utilizzi per caricare queste immagini? Le visualizzi in un controllo???
Magari se puoi posta la sezione del ciclo di caricamento.

Carlik Profilo | Junior Member

Si,inserisco le immagini in alcuni pulsanti;Alcuni pulsanti hanno l'immagine,altri no.QUi c'è la parte di codice interessata

With pulsante

If Not IfNull(rowPulsante("Immagine")).ToString = "" AndAlso File.Exists(g_DirPath & "\Image\Buttons\" & rowPulsante("Immagine").ToString) Then
.Image = Image.FromFile(g_DirPath & "\Image\Buttons\" & rowPulsante("Immagine").ToString)
.TextImageRelation = TextImageRelation.ImageAboveText
.TextAlign = ContentAlignment.BottomCenter
.ImageAlign = ContentAlignment.TopCenter
End If

End with

Fantazma Profilo | Junior Member

....è molto strano.
Ho sviluppato un'applicazione dove visualizzo contemporaneamente 24 fotografie ed una trentina di pulsanti con immagini e non ho avuto il problema da te riscontrato... o almeno, all'inizio lo avevo perchè non facevo il dispose di alcune risorse grafiche che utilizzavo. Le 24 immagini infatti venivano sottoposte a varie elaborazioni. Sistemato quello è tornato tutto a posto.

Non so da dove possa nascere il problema... le mie (limitate) conoscenze si inchinano a questo problema!

Carlik Profilo | Junior Member

Risorse grafiche di che tipo?
E poi hai provato con più foto?
In effetti una volta ho provato nel mio PC personale a creare una form di prova con 100 pulsanti caricati con la stessa immagine e non dava problemi...però forse funzionava perche è sempre la stessa immagine...

Fantazma Profilo | Junior Member

In pratica il mio è un software per la gestione di un archivio di fotografie. Ogni immagine prima di essere visualizzata viene ridimensionata e le vengono applicate modifiche di luminosità, contrasto, saturazione etc... poi vi viene appliacato un logo e solo a questo punto le immagini vengono visualizzate sullo schermo. In pratica nei vari passaggi non eliminavo le varie bitmap di scorta che creavo e cose simili. Ripulito per bene il codice ora non ho più alcun problema, neanche dopo ore di utilizzo: il software visualizza 24 foto la volta (sfrutto la paginazione perchè il DB di appoggio è molto grande) e la memoria resta stabile (varia durante il caricamento e l'elaborazione, in fase di visualizzazione torna a livelli iniziali). I pulsanti che utilizzo contengono tutti un'immagine diversa a seconda della loro funzione... per questo non capisco da dove possa nascere il tuo problema. Nel tuo ciclo non ci sono risorse "pesanti" da dover liberare. Nel task manager la quantità di memoria utilizzata dal tuo programma a quanto è segnalata? Prova magari a vedere, caricando meno pulsanti a quanto te la segnala così da poter iniziare a risalire all'origine del problema.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5