Nu när jag håller på att testa mitt program upptäckte jag att jag får mindre och mindre interminne ledig. Så jag kollade mitt program och upptäckte att det snor ca 0.5/1 mb varje gång man kör/avslutar programmet. VB använder reference counting för att avgöra när en minnesarea inte längre används. Om detta fungerade felfritt skulle dina program egentligen inte kunna "läcka" minne. Min erfarenhet är dock att det inte fungerar hundraprocentigt. Jag brukar försöka vara så noggrann jag kan med att sätta variabler till nothing så fort dom inte längre används för att hjälpa VB på traven (t ex i Class_Terminate-eventet). Jag tycker också att det hör till god programmeringssed att göra så, oavsett om man kör i en miljö som hanterar minnet perfekt. Hejfå tillbaka minne??
Jag vet att det var mer så förrut att windows käkade minne så man måste starta om datorn ibland för att lösgöra minne (jag tror det har blivit bättre i nyare versioner av windows). Men kan man göra något som programmerare för att förhindra detta?
Programmet hyfsat minneskrävande (tar ca 10mb när det är igång) och jag har b la en ganska stor global array. Jag kan säkert skriva programmet utan denna array men frågan är kan jag frigöra allt det minne som mitt program tar?Sv: få tillbaka minne??
Så mitt tips är att du ser över referenser mellan objekt i din kod, och ta död på referenserna manuellt, speciellt om du har cirkulära referenser (A refererar till B som refererar till C som refererar till A)...
Sen tror jag inte att VB är hela boven i dramat här, jag upplever aldrig att jag får tillbaka 100% av minnet oavsett program...fast jag har inte detaljstuderat det, så det är mest en känsla jag har...
/Per HultqvistSv: få tillbaka minne??
>få tillbaka minne??
Kunde inte hålla mig, Slå huvudet i väggen .!
/Sven