PDA

View Full Version : سوال: مشكل در مقدار رم مصرفي برنامه



shaki_phd
یک شنبه 18 اسفند 1387, 12:38 عصر
سلام
برنامه من وقتي ران ميشه 33 مگ رم استفاده مي كنه حتي من از Garbage Collector هم هر چند وقت يك بار استفاده كردم كه در نهايت همان 33 مگ ميمونه اما اگر من يكبار فرمم رو Minimize كنم و دوباره به حالت Normal برگردونم يه دفعه مقدار رم به 10 مگ ميرسه كسي از بچه ها ميدونه دليلش چيه ؟

h.jaza
یک شنبه 18 اسفند 1387, 15:40 عصر
1. در برنامت، از دیتا بیس استفاده کردی؟
2. و یا با فایل ها و کلا Stream ها کار کردی؟
3. و یا با تعداد زیادی شئ بدون dispose کار کردی؟
4. و یا ...

کدوم؟؟؟

ariyanna
یک شنبه 18 اسفند 1387, 20:00 عصر
dispose کردن اشیائ خیلی خیلی مهم هستند کلا عادت کنید که این کارو بکنید

shaki_phd
دوشنبه 19 اسفند 1387, 13:14 عصر
سلاممرسي دوستان از راهنماييهاتون فقط مي خواستم بدونم من كي بايد يك شي رو dispose كنم چون مثلا اگه من يك فرم رو ببندم ديگه به اون فرم دسترسي ندارم كه بخوام dispose كنم پس ميشه بگيد كي بايد اين كار رو بكنم و اينكه مگه Garbage Collector اين كار رو خودش نميكنه

ariyanna
دوشنبه 19 اسفند 1387, 18:55 عصر
سلاممرسي دوستان از راهنماييهاتون فقط مي خواستم بدونم من كي بايد يك شي رو dispose كنم چون مثلا اگه من يك فرم رو ببندم ديگه به اون فرم دسترسي ندارم كه بخوام dispose كنم پس ميشه بگيد كي بايد اين كار رو بكنم

چرا وقتی که شما شی master ی رو می بندید تمام فضاهای اون آزاد می شه ، اما dispose کردن یک شی مختص به وقتی هستش که شما هنوز در object مادر هستی و داری بااون کار می کنی اما دیگه استفاده ای از اون شی بخصوص نمی کنی و کارت با اون تمام شده ... دراین مواقع عمل آزاد سازی رو اگه انجام بدی بهتره ، صرف نظر از کاهش فضای اضافه درهنگام کار برنامه امنیت اطلاعات (در مباحث برنامه پیشرفته،بزرگ و حساس) نیز بالا میره...

...و اينكه مگه Garbage Collector اين كار رو خودش نميكنه
نه اون این کار رو به این نحوی که منظور و مورد بحث ماست انجام نمی ده

Hossenbor
سه شنبه 20 اسفند 1387, 08:52 صبح
System.Threading.Thread t=new System.Threading.Thread(Method) ;
t.Start();