Kontrolka Image nie zwalnia pamięci

Kontrolka Image nie zwalnia pamięci
WP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Mam taki oto problem.
Mam duży obrazek zapisany w png i dołączony do projektu jako Resource (Build action: Resource).
Następnie na oknie dialogowym stawiam kontrolkę Image i podłączam powyższy obrazek do tej kontrolki właściwością "Source".

Kopiuj
<Image Grid.Row="0" Source="..\Images\fiero_logo.png" Stretch="Uniform" Margin="10,0,0,20" Height="150" />

Gdy otwieram okno dialogowe metodą ShowDialog() pamięć wykorzystywana przez program gwałtownie wzrasta (obrazek ma prawie 300kB). Ale po zamknięciu okna pamięć nie jest zwalniana. Okno odziedziczyłem po interfejsie IDisposable i wywołuję je w bloku using. Pomimo to każde wywołanie tego okna dorzuca pamięć, która nie jest zwalniana po zamknięciu okna. W ten sposób mam wyciek pamięci (memory leak).
Czemu pamięć po tym oknie nie jest zwalniana? Czy źle wywołuję kontrolkę typu Image? Czy jest jakiś sposób na zwalnianie obrazów z kontrolek typu Image?

Z góry dziękuję za pomoc.

Sunnyline2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

Sprawdzałeś w ogolę czy GC został wywołany?

WP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0
Sunnyline2 napisał(a):

Sprawdzałeś w ogolę czy GC został wywołany?

Wywoływana jest metoda Dispose() okna dialogowego, poza tym po zamknięciu okna wywołuję metodę GC.Collect(). Nic nie pomaga.

JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.