kontakt

Menu główne

O firmie
Kontakt

Oprogramowanie

Wdrożenia
System zarządzania firmą IntEMa
Respect HERMES
3D Conexx Quick
System kosztorysowania BasicLine

Pomoc

Poczta
Webmail
Konfiguracja e-mail w programie Outlook Express
Dodatkowe ustawienia e-mail
Szyfrowane połączenie do serwera poczty
Ochrona antywirusowa e-mail
Uruchomienie TeamViewer

Kącik programisty

Dependency property
SmartClass dla Visual Studio
BitmapImage w .NET 4.0
Problem z BitmapImage po migracji do .NET 4.0

Migracja do .NET 4.0 a sprawa BitmapImage

Próba zmigrowania pewnego projektu, który poprawnie kompiluje się i działa w .NET 3.5 napotkała spore problemy. Po przełączeniu głównego projektu oraz projektów zależnych na .NET 4.0 oraz uzupełnieniu brakujących XAML, solucja skompilowała się bez problemu. Jednak jakeż było moje zaskoczenie, kiedy po uruchomieniu program zeżarł cały dostępny RAM.

Zużycie pamięci przy uruchomieniu w .NET 4.0
Zużycie pamięci przy uruchomieniu w .NET 4.0
Zużycie pamięci przy uruchomieniu w .NET 3.5
Zużycie pamięci przy uruchomieniu w .NET 3.5

Uruchomienie wersji skompilowanej do 3.5 w środowisku 4.0 dowiodło, że kompilator jest niewinny i przyczyn trzeba szukać w samym środowisku uruchomieniowym.

Rozwiązanie okazało się tyleż proste co przerażające. Różnica pomiędzy 3.5 a 4.0 w działaniu BitmapImage polega na tym, że w starej wersji tworzenie kolejnych instancji BitmapImage w oparciu o to samo Uri nie powoduje ładowania wielu kopii obrazka, natomiast w wersji 4.0 jak najbardziej!

 
XVI Edycja Klubu Rozwoju MentalWay :: Wygraj iPada2 lub coś z Miliona
Valid XHTML 1.0 Transitional Poprawny CSS!