تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
تحذير تحذير من خطاء استهلاك الرام ( الذاكرة ) دون ان تدري
#1
السلام عليكم
سامحوني منشغل جدا
اليوم اكتشفت ان برنامجي يستهلك من الرام ما يقارب 200 ميجا ويتوقف البرنامج ويجبرك الويندوز علي اغلاقه

وبعد البحث في الكود بالكامل والجهد الجهيد اليكم المشكلة والحل

المشكلة كانت

عند انشاء كائن جديد

Dim dd As New TextBox

ثم اضافته مثلا الي بنل

Me.Panel1.Controls.Add(dd)

وذلك لعرض نتائج شئ معين

ثم اذا اردت ان اعرض نتيجة اخري قمت بتفريغ محتوي الـ Panel1 بهذا الشكل

Me.Panel1.Controls.Clear

هنا الخطاء هل تعلم ان dd لم يتم حذفه من الذاكرة وهو موجود وانا كنت اقوم بعض مئات النتائج بهذا الشكل وكان يظل المئات من العناصر محفوظه في الرام لم تنتهي بعد

وعالجت الامر باستبدال الكود

Me.Panel1.Controls.Clear

بكود اخر
كود :
For Each Obj As Object In Me.Panel1.Controls
                        Obj.Dispose()
                    Next

الحل هنا في الدالة Dispose فهي تقوم بتدمير الكائن نهائيا من الذاكرة وكان ليس له وجود من الاصل

كتبت الموضوع بسرعة جدا لاني والله منشغل جدا لاكن حبيت اتناقش معكم في هذا الموضوع لاهميته واتمني من الله تعالي ان الي عنده اي معلومات حول هذا الامر يفيدنا

وجزاكم الله خيرا
الرد }}}}
#2
جزاك الله خيرا
تسلم على التوضيح

تصدق أول مره أدري انه ما يطير Dodgy

معلومه جيده ومفيدة Big Grin
بارك الله فيك
الرد }}}}
تم الشكر بواسطة: ali.alfoly
#3
شكرا لك اخي ولكن ايه الجاربك تستخدم panal من الاساس ههههههه استخدم ادوات افضل ومن خلال تجربتي الشخصيه اصبح استخدم Telerik 2009 Q2
صراحه جميله وبراي اسرع من 2013
شئ ثاني لست الداله Dispose فقط نستخدمها في في مثل هذه الحالات ولكن اذا انشئت كلاس لا بد من تضمين الواجهه IDesposable للكلاس وكتابه الكود
PHP كود :
CG.Finalize(me
'vb.net Code 
وبكدة بتحافظ علي جوده برامج كلها ^_^
تحياتي
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}}
تم الشكر بواسطة: Easy4ever , Sajad , ali.alfoly
#4
جزاك الله خيرا اخي smss علي التوضيح ارجو من حدرتك توضيح
ما اهي الاداة Telerik 2009 Q2 بحثن عنها ولم اجدها
وشرح بسيط لتضمين الواجهه IDesposable للكلاس وكتابه الكود
وجزاك الله خيرا
الرد }}}}
تم الشكر بواسطة:
#5
اه هههههه الادوات Telerik 2009 Q2 بحث ولم اجد روابط لتحميلها
انظر كل الروابط علي الرابيد شير ومحذوفة ارجو لو موجودة عند حدرتك ترفعها وجزاك الله خيرا
الرد }}}}
تم الشكر بواسطة:
#6
وبالنسبة للـ IDesposable هل تقصد مثل ما في الرابط هذا
الرد }}}}
تم الشكر بواسطة:
#7
شكــراً استـاذنا ,, احســنت وبارك الله فيك
الرد }}}}
تم الشكر بواسطة: ali.alfoly
#8
طيب لقيت دي هل تمشي الحال
الرد }}}}
تم الشكر بواسطة:
#9
Idesposable
الكائنات والرام في فريم ورك
هنا رابط تورنت
Telerik2009 Q3
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}}
تم الشكر بواسطة:
#10
للعلم اذا كان عندك اصدار الفيجوال استديو 2008 ستجدها مباشرة في الصندوق الادوات اما غير ذلك لا بد من تضمينها بطريقه العاديه ^_^
microsoft partner
Team administrator
MCPD,MCITP,OCP,MP,MCC
Xprema Systems
الرد }}}}
تم الشكر بواسطة: kslawy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [درس فيديو] تحذير هام في التعامل مع For و Try ali.alfoly 3 109 07-12-16, 12:43 AM
آخر رد: silverlight

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم