ورود

View Full Version : سوال: پر شدن حافظه Ram در برنامه های Wpf



mirjanian
دوشنبه 18 مرداد 1395, 12:42 عصر
سلام

یک برنامه نوشتم که تعداد Window های زیادی دارد ، مشکل اینجاست که وقتی window را Close میکنم ،حافظه استفاده شده در Ram را خالی نمیکند وپس از مدتی که کاربران با نرم افزار کار می کنند بدلیل باز و بست شدن تعداد زیادی window ، حافظه Ram پر می شود و نرم افزار هنگ می کند و دوباره باید نرم افزار رو اجرا کنم

در صورت امکان لطفا راهنماییم کنید، با تشکر

Mani_rf
چهارشنبه 20 مرداد 1395, 13:07 عصر
تا جایی که میدونم وقتی که شما پنجره ای رو Close میکنید اگر از بسته شدنش جلوگیری نکرده باشید کاملا از رم خارج میشه، این احتمال وجود داره که توی پنجره ای که باز میکنید یکسری اطلاعات لیستی لود کرده باشید که اونها رو Dispose نمیکنید. به صورت کلی یک آبجکت زمانی از حافظه خارج میشه که یا خودتون اون رو از بین ببرید و یا این که تمام ارتباط های اون قطع بشه و ویندوز (توی بازه زمانی که تشخصی میده ) آبجکت های بلا استفاده رو از رم پاک کنه. این رو در نظر داشته باشید که لیست ها چون ارتباط دوطرفه با آیتم های داخلشون دارن معمولا خودشون Dispose نمیشن تا برنامه بسته بشه. پس باید اول لیست رو Clear کنید و بعد خود لیست رو Dispose کنید.

این تست رو انجام بدید و اگر نشد بگید تا راه حل های دیگه ارائه بشه

mirjanian
پنج شنبه 21 مرداد 1395, 08:00 صبح
تا جایی که میدونم وقتی که شما پنجره ای رو Close میکنید اگر از بسته شدنش جلوگیری نکرده باشید کاملا از رم خارج میشه، این احتمال وجود داره که توی پنجره ای که باز میکنید یکسری اطلاعات لیستی لود کرده باشید که اونها رو Dispose نمیکنید.

من خود پنجره رو Dispose میکنم ولی لیستها و تصاویر رو ِDispose نکرده بودم ، ممنون از راهنماییتون