
- بواسطة x32x01 ||
ايه هو Memory Leaks وليه لازم تتجنبه؟
هنتكلم عن مشكلة مهمة لكل مبرمج وهي Memory Leaks وإزاي بتحصل وليه لازم نعرف نتجنبها في أي مشروع 
فهم الـMemory
قبل ما نفهم Memory Leaks، لازم نعرف الـMemory (يعني RAM) بتتخزن فيها ايه:- تخيل معايا الـHeap كصندوق فاضي
- لما نحتاج نخزن حاجة جوه الصندوق ده، بناخد جزء من المساحة الفاضية ونحط الحاجة اللي عايزين نخزنها
- بنكرر العملية دي لكل Object أو Thread أو Process لحد ما الصندوق يمتلئ
ايه هو الـMemory Leaks؟
Memory Leaks ده عبارة عن هدر للمساحة المتاحة في الـMemory، وده بيحصل بسبب:- انك تحجز مساحة في الـMemory مش محتاجها حاليا، زي Object استخدمته وانتهيت منه وممسحتهوش
- انك تعمل Threads كتير وانت مش محتاج العدد ده
ازاي نتجنب Memory Leaks؟
- في لغات زي C و C++ → لازم تمسح أي Object مش محتاجه بنفسك
- في لغات زي Java → فيه Garbage Collector بيمسحلك الأوبجكتس اللي مش مستخدمة تلقائيًا
- وانت بتتعامل مع Multiple Threads → لازم تاخد بالك من إدارة الموارد لتجنب Memory Leaks
الاضرار الناتجة عن Memory Leaks
- هيقلل أداء الجهاز والمشروع سواء على Android أو Windows
- هيستنفذ المساحة المتاحة في الـMemory → مش هيبقى عندك مكان تخزن فيه عمليات جديدة
- ممكن يسبب توقف البرنامج أو الـApplication crash لو المشكلة استمرت
الخلاصة
- Memory Leaks = هدر مساحة الـRAM بسبب Objects أو Threads مش مستخدمة
- تجنب الحجز الغير ضروري واحرص على تنظيف الMemory أو استخدام Garbage Collector
- النتيجة: أداء أعلى واستقرار أفضل للبرنامج والجهاز
التعديل الأخير: