موسوعة الإلكترونيات الحرة وتعليم البرمجيات.

مواضيع جديدة

الثلاثاء، 9 يوليو 2019

جمع القمامة في الأندرويد Garbage Collection



شرح جمع القمامة وإعادة تدوير الذاكرة في نظام التشغيل أندرويد

عند شرائك لأي جهاز هاتف ذكي يعمل على نظام تشغيل الأندرويد Android فإن أول ما يتم ملاحظته والاهتمام لأمره هو إذا ما كان ذلك الجهاز المحمول يحتوي على ذاكرة داخلية Internal Memory بسعة تفوق  2 جيجابايت على الأقل أم لا!
بينما عند القيام بشرائك لإحدى منتجات شركة أبل Apple Devices فإن الاهتمام بسعة الذاكرة الداخلية يكون قليلاً نسبياً ويتم الاهتمام بسعة التخزين الثانوية لذلك الجهاز مثل الأيفون Iphone والأيباد Ipad. ومن هنا تم طرح العديد من الأسئلة والتي سنتطرق اليها بعد قليل.

كيف يمكن لجهاز الأيفون Iphone بذاكرة 1 جيجابايت العمل بسرعة وكفاءة أفضل وأعلى من هواتف الأندرويد Android Phones والتي تعمل على الأقل بذاكرة 2 جيجابايت؟

السبب وراء ذلك البطئ في أجهزة هواتف الأندرويد هو أن جميع تطبيقات الأندرويد يتم كتابتها وبرمجتها باستخدام لغة الجافا JAVA. حيث يرافق استخدام التطبيقات التي صممت بالجافا آلية أو تقنية تسمى بجمع وتدوير الذاكرة وأحيانا تسمى بتدوير النفايات في الذاكرة. لكن ما هي تقنية إدارة الذاكرة تلك، والتي تسمى بجمع القمامة (النفايات) Garbage Collection أو إعادة تدوير الذاكرة Memory Garbage Recycling؟

آلية جمع وتدوير وإدارة الذاكرة في هواتف الأندرويد

تعرف عملية جمع القمامة في نظام التشغيل أندرويد على أنها عملية إدارة الذاكرة الداخلية Managed Memory Environment. فبمجرد إغلاق مستخدم نظام الأندرويد إحدى التطبيقات، يتم تفعيل دور عملية جمع القمامة بهدف إعادة تدوير الذاكرة واستخدامها من جديد من قِبَلِ تطبيق آخر. ومن هنا تكمن المشكلة، وهي أن عملية تشغيل تقنية جمع القمامة في نظام تشغيل الأندرويد تحتاج إلى ما بين أربعة الى ثمانية أضعاف الذاكرة التي تم استخدامها من قبل التطبيق السابق الذي تم إغلاقه. فعلى سبيل المثال، لإعادة استخدام الذاكرة في جهاز يعمل على نظام تشغيل الأندرويد بعد اغلاق تطبيق بسعة 200 ميجابايت، فسيتم حجز على الأقل ما بين 800 الى 1600 ميجا بايت من الذاكرة في الجهاز للقيام بالتخلص من باقي أجزاء ذلك التطبيق في الذاكرة واستغلالها وإعادة استخدامها مرة أخرى.


ما الهدف من وظيفة جمع وتدوير القمامة وإدارة الذاكرة في هواتف الأندرويد؟

الهدف الأساسي من عملية جمع القمامة هو إفراغ الذاكرة من بقايا وأجزاء التطبيق السابق الذي تم إغلاقه والتخلص من أي جزء برمجي وحسابي متعلق بذلك التطبيق، من أجل إنجاز المهمة التالية بشكل أسرع. علماً أنه يجب توفر مقدار كاف من الذاكرة في أجهزة الأندرويد كي تنجز عملية إدارة وتدوير الذاكرة بشكل سريع وإلا سوف تنجز ببطئ وعلى عدة مراحل، بحسب السعة المتوفرة في الذاكرة الداخلية للجهاز.

ما العمل عند عدم توفر سعة ذاكرة كافية في الأندرويد؟

يمكن بالطبع عدم الانتظار وعدم الاعتماد على عملية جمع وإعادة تدوير القمامة في الأندرويد عند وجود مساحة ذاكرة قليلة وذلك بإعادة تشغيل جهاز الأندرويد أي عمل ريبوت Reboot بعد اغلاق التطبيق، بدلا من انتظار إدارة الذاكرة وجمع القمامة.

ما هي الشروط والمواصفات الواجب توفرها لعملية إعادة تدوير القمامة Garbage Collection؟

إن عملية لم وجمع القمامة في نظام التشغيل أندرويد Android OS هي بدورها عملية فعالة، بل رائعة وسريعة للغاية في حال أن هنالك مساحة ذاكرة فارغة كبيرة. لذلك الشرط الوحيد المثمر هنا هو وجود ذاكرة داخلية كبيرة وكافية في الأجهزة التي تعمل بنظام تشغيل الأندرويد.

ليست هناك تعليقات:

إرسال تعليق

???????