Memory Leak زمانی رخ میدهد که برنامه حافظهای را که دیگر به آن نیاز ندارد در طول زمان نگه دارد و مصرف آن به شکل نامطلوب افزایش یابد.
نحوه استفاده در عمل
نگهداری هزاران Listener ثبتشده بدون حذف یا Cache بدون سیاست انقضا میتواند باعث رشد حافظه شود.
Profiling حافظه، بررسی Referenceها و محدود کردن چرخه عمر داده کمک میکنند مشکل پیدا شود.
این راهکار را بهصورت پیشفرض به تمام پروژهها تحمیل نکنید. هزینه پیادهسازی، خطاهای محتمل و سازگاری با زیرساخت فعلی را بسنجید.
نشت حافظه در برنامه طولانیعمر
ورکر صف ممکن است با نگه داشتن ارجاع به آرایههای بزرگ یا Listenerهای حذفنشده بهتدریج رم بیشتری مصرف کند. Profiling و سقف طول عمر Worker برای تشخیص و کنترل مشکل مفیدند.