اگر با Web Appهای بزرگ کار کرده باشی، احتمالاً با این مشکل مواجه شدی:
Page Open
↓
Component Created
↓
Component Removed
↓
Memory هنوز آزاد نشده ❌
مشکل معمولاً یک Reference باقیمانده است.
ابزار Chrome DevTools حالا در Heap Snapshot ابزارهای دقیقتری برای پیدا کردن این Referenceها داره.
میتونی Objectها رو بر اساس:
🔹 Retained Size
🔹 Self Size
🔹 Property Name
جستوجو و مرتب کنی و حتی ببینی کدوم V8 Execution Context چه مقدار Memory رو زنده نگه داشته.
مثلاً:
Component
↓
Event Listener
↓
Closure
↓
Old Object
↓
GC نمیتواند آزادش کند
حالا بهجای اینکه فقط ببینی Memory زیاد شده، میتونی دنبال Reference Chain بگردی که Object رو زنده نگه داشته.
💡 حالا Memory Leak معمولاً با «پاک کردن Cache» حل نمیشه.
باید بفهمی:
چه چیزی هنوز به Object موردنظر Reference داره؟
این همون نقطهایه که DevTools از یک ابزار ساده Debug به یک ابزار جدی برای Performance Engineering تبدیل میشه.
@CodeVerse_dev