Cześć,

jest to kontynuacja wcześniejszego tematu (zwalnianie niegenerycznych list i garbage collector), ponieważ chciałbym się teraz skupić na niepotrzebnym zajęciu pamięci przez wartości string i wykorzystaniu Garbage Collector.

Sprawdziłem swoją aplikację przy pomocy wersji demo programu ANTS Memory Profiler 7.4 i zauważyłem, że najwięcej pamięci marnuje się przez wartości string, które są tworzone wewnątrz pętli. Pętla wykonuje tysiące iteracji, jednak około dwutysięcznej iteracji (a nawet wcześniej, koło pięciuset) wykonanie znacząco zwalnia. Na laptopie wykonanie trwa bardzo długo, jednak na innym komputerze, na którym wypróbowałem program, występuje Out Of Memory Exception.

W jaki sposób mogę najlepiej zadbać o to, żeby lokalne zmienne string nie zajmowały niepotrzebnie pamięci? Spróbuję za chwilę przypisywania wartości null do zmiennych pod koniec każdej iteracji, jednak nie wiem, czy jest to najlepsze (i czy jest to skuteczne) rozwiązanie.

W załączniku zrzuty ekranu z programu Memory Profiler.

Pozdrawiam!