Kategorie: Tipy & triky

C#: Uvolňování paměti

C#: Uvolňování pamětiUvolňování nepotřebné operační paměti v C#


Při psaní jedné aplikace v C# jsem došel k problému, kdy aplikace využívala až 150 MB RAM paměti, což bylo poměrně dost, jelikož aplikace nebyla zrovna nijak náročná a určitě by to šlo zvládnout s menšími nároky. Použil jsem proto Garbage collector, který zmenšil využití paměti na nějakých 100 MB. Byl to pokrok, ale mi se zdálo, že je to na tak jednoduchou aplikaci stále příliš. Hledal jsem tedy na internetu jak co možná nejvíce optimalizovat aplikaci.

Na webu All About Microsoft.Net Technologies jsem našel článek, ve kterém se popisuje třída MemoryManagement, která by měla nároky na paměť snížit. Stačí do projektu přidat dva jmenné prostory a to Microsoft.Win32 a System.Runtime.InteropServices. Pak stačí nakopírovat do projektu třídu MemoryManagement, která je ve výše uvedeném článku a při požadované akci (kdy chceme uvolnit paměť) zavolat bezparametrickou metodu FlushMemory.

Po použití této metody jsem se dostal na využití paměti k nějakým 5 MB, což je podstatný rozdíl.

Sdílet

Štítky

Komentáře rss


Nebyly přidány žádné komentáře.