hercool
یک شنبه 25 اسفند 1392, 12:18 عصر
سلام دوستان
من یه مشکل در مدیریت حافظه دارم
من از این کد برای حذف فضای اضافی برنامه استفاده م یکنم اما زمانی که مثلا برنامه را برای زمان زیادی اجرا می کنم دیگه مدیریت حافظه کاربردی نداره
public void createtextbox()
{
for (int i = 0; i < 100000; i++)
{
TextBox textt = new TextBox();
textt.Text = "salam" + i;
textt.Name = "salam" + i + 1;
tex.Add(textt);
number++;
}
}
private void button1_Click(object sender, EventArgs e)
{
createtextbox();
textBox1.Text = number.ToString();
block_data = Convert.ToInt32(GC.GetTotalMemory(true).ToString() );
Int32 txt_data = Convert.ToInt32(30) * 1024 * 1024;
if (block_data > txt_data) { FlushMemory(); } else { }
}
private void button4_Click(object sender, EventArgs e)
{
FlushMemory();
}
public static void FlushMemory() {
System.Diagnostics.Process prs = System.Diagnostics.Process.GetCurrentProcess();
try { prs.MinWorkingSet = (IntPtr)(300000); }
catch { } }
}
برنامه اصلی بزرگتر از این حرفاست و کارش ریختن اطلاعات زیادی در دیتابیس هست
این نمونه ساده کد برای اینکه چطور دارم رم رو ازاد می کنم هست
ممنون میشم راهنماییم کنید
من یه مشکل در مدیریت حافظه دارم
من از این کد برای حذف فضای اضافی برنامه استفاده م یکنم اما زمانی که مثلا برنامه را برای زمان زیادی اجرا می کنم دیگه مدیریت حافظه کاربردی نداره
public void createtextbox()
{
for (int i = 0; i < 100000; i++)
{
TextBox textt = new TextBox();
textt.Text = "salam" + i;
textt.Name = "salam" + i + 1;
tex.Add(textt);
number++;
}
}
private void button1_Click(object sender, EventArgs e)
{
createtextbox();
textBox1.Text = number.ToString();
block_data = Convert.ToInt32(GC.GetTotalMemory(true).ToString() );
Int32 txt_data = Convert.ToInt32(30) * 1024 * 1024;
if (block_data > txt_data) { FlushMemory(); } else { }
}
private void button4_Click(object sender, EventArgs e)
{
FlushMemory();
}
public static void FlushMemory() {
System.Diagnostics.Process prs = System.Diagnostics.Process.GetCurrentProcess();
try { prs.MinWorkingSet = (IntPtr)(300000); }
catch { } }
}
برنامه اصلی بزرگتر از این حرفاست و کارش ریختن اطلاعات زیادی در دیتابیس هست
این نمونه ساده کد برای اینکه چطور دارم رم رو ازاد می کنم هست
ممنون میشم راهنماییم کنید