PDA

View Full Version : ابهام در باره عملکرد GC.GetTotalMemory



Mojgan110
پنج شنبه 30 آذر 1385, 08:19 صبح
قبل از اینکه آبجکتی از کلاسم بسازم ، مقدار GC.GetTotalMemory را چاپ کردم ، 141036 بایت بود.

بعد یک عدد آبجکت ساختم و دوباره مقدار را چک کردم ، این بار 149228 بایت بود. یعنی 8 کیلو بایت تخصیص فضا

دفعه بعد ، شیش هفت تا آبجکت ساختم و دوباره مقدار را چک کردم . ولی همان 149228 باقی مانده بود .

چرا ؟

SalarSoft
دوشنبه 04 دی 1385, 16:42 عصر
این تابع مقدار تخمینی از فضایی که ممکن است مورد استفاده قرار گرفته باشد را نشان می ده


بعد یک عدد آبجکت ساختم و دوباره مقدار را چک کردم
بار اول به این خاطر که از اون آبجکت توسط CLR کامپایل میشده فضای زیادی برده ولی دفعات بعد فضای کمی نیاز است و فقط یک نمونه ایجاد میشه!

علاوه بر این اگر هر آبجکتی که می سازید در ادامه استفاده ای از آن نشده باشد به طور خودکار حذف می شود.

در کل میشه گفت این ابهام مربوط به عملکرد پویای مدیریت حافظه در دات نت است.