استفاده از C1.Win.C1Tile.C1TileControl و مشکل با خالی کردن memory
من توی برنامه از کامپوننت C1TileControl استفاده میکنم
یه لیست دارم توی برنامه که با هر بار کلیک روی اون Tiles رو Clear میکنم
c1TileControl_Demos.Groups[0].Tiles.Clear();
بعد توی یه حلقه دوباره پر میشه
foreach (...) {
C1.Win.C1Tile.Tile t1 = new C1.Win.C1Tile.Tile();
t1.Text = ...;
t1.Text1 = ...;
//Highlight new controls and samples using a different tile image
t1.Tag = ...;
t1.Template = template_my_1;
// See note below.
// t1.ImageIndex = _pageIndex;
string imgFile = ImageFileName ;
if (File.Exists(imgFile))
{
Image myImage = Image.FromFile(imgFile);
t1.Image = myImage;
t1.Image1 = myImage;
}
main.c1TileControl_Demos.Groups[0].Tiles.Add(t1);
....
}
که تعداد ایتم هایی که نمایش داده میشه متغیر مثلا ممکنه چند تا باشه یا بالای دویست باشه
که برای هر ایتم هم دو تا تصویر قرار میگیره
حالا مشکل اینه که هر بار که روی لیست کلیک میشه توی تسک منیجر memory که برنامه استفاده میکنه همینطور زیاد میشه
یعنی با کلیک اول روی لیست و نمایش 250 ایتم در C1TileControl مموری که اشغال میشه 250 mb هستش
با کلیک های بعدی روی فهرست که C1TileControl رو خالی میکنم و memory خالی نمیشه
و با اجراشدن حلقه مموری اشغال شده برنامه همینطور زیاد میشه
یعنی با 10 بار پر و خالی شده C1TileControl میزان مموری اشغال شده برنامه به بالای 1gb هم میرسه
حالا نمیدونم کجای کدم رو باید تغییر بدم
نقل قول: استفاده از C1.Win.C1Tile.C1TileControl و مشکل با خالی کردن memory
سلام دوست من
حقیقت اینه که مشکل شما ریشه ای تر از این حرفاس
به این خاطر که سی شارپ و کلا دات نت در زمینه مدیریت حافظه مشکل داره
شما هم با استفاده از کامپوننت های شخص ثالث کار رو بدتر کردی
پیشنهاد من به شما اینه همه چیز رو ول کن برو دلفی یا سی پلاس پلاس یاد بگیر
بای
نقل قول: استفاده از C1.Win.C1Tile.C1TileControl و مشکل با خالی کردن memory
نقل قول:
نوشته شده توسط
Cpp_Qt
سلام دوست من
حقیقت اینه که مشکل شما ریشه ای تر از این حرفاس
به این خاطر که سی شارپ و کلا دات نت در زمینه مدیریت حافظه مشکل داره
شما هم با استفاده از کامپوننت های شخص ثالث کار رو بدتر کردی
پیشنهاد من به شما اینه همه چیز رو ول کن برو دلفی یا سی پلاس پلاس یاد بگیر
بای
بهتره راهنمایی بهتری انجام بدید. بجای اینکه دلسردش کنید.
beginner_1395 عزیز شما میای از حافظه جانبی 250 *2 عکس لود میکنی خب ممکنه پردازش بره بالا.
اگه واقعا نیازه این همه عکس یه جا لود بشه که فک نکنم چاره باشه (مگه اینکه سعی کنی اندازه و حجم عکستو بیاری پایین)
اگه هم امکان باشه به صورت صفحه بندی کار کن. مثلا وقتی داده هات لود میشه چند صفحه کن و کاربر تو هر کدوم از صفحات بود فقط عکسای اون صفحه نشون داده بشه.
یا اینکه وقتی کاربر رو یکی از رکوردها کلیک کرد اونموقع عکس مربوطش لود بشه.
اینجوری شاید بتونی این مشکل رو حل کنی.