ระบบต้องป้องกันคำขอจำนวนมากและการใช้ทรัพยากรเกินขอบเขต จึงพิจารณาว่า นักพัฒนาพบว่าเว็บแอปพลิเคชัน SPA มีปัญหา Memory Leak เมื่อผู้ใช้ท่องเว็บนานๆ เบราว์เซอร์ช้าลงเรื่อยๆ สาเหตุที่พบบ่อยที่สุดและวิธีแก้ที่ถูกต้องคืออะไร
กสาเหตุคือใช้ HTTP แทน HTTPS และวิธีแก้คือเปลี่ยนเป็น HTTPS
ขสาเหตุคือ CSS มีขนาดใหญ่เกินไปและวิธีแก้คือลด CSS
คสาเหตุคือ Event Listeners หรือ Subscriptions ที่ไม่ถูก Remove เมื่อ Component ถูก Destroy และวิธีแก้คือ Cleanup ใน Lifecycle Hook
งสาเหตุคือโค้ด JavaScript ไม่ถูก Minify และวิธีแก้คือใช้ Build Tool
เฉลยอธิบาย
Memory Leak ใน SPA มักเกิดจาก Event Listeners ที่ Register ไว้แต่ไม่ Remove เมื่อ Component ถูก Unmount, Timer ที่ยังทำงานอยู่, หรือ Observable/Subscription ที่ไม่ถูก Unsubscribe ทำให้ Reference ยังคงอยู่ใน Memory แม้ Component จะถูกลบไปแล้ว วิธีแก้คือใช้ Lifecycle Hook (เช่น componentWillUnmount ใน React หรือ onDestroy ใน Angular) เพื่อ Cleanup ตัวเลือก A, C, D ไม่ใช่สาเหตุหลักของ Memory Leak