التقاط لقطة لأجزاء من الذاكرة (طُرق العرض)

تنفيذ Jetpack Compose

تتضمّن هذه الصفحة معلومات حول العثور على تسرّبات الذاكرة وتفعيلها، وهي معلومات خاصة بالتنسيقات المستندة إلى طريقة العرض. للاطّلاع على المعلومات الأساسية حول التقاط لقطة لأجزاء من الذاكرة و تحليلها، يُرجى الرجوع إلى مقالة التقاط لقطة لأجزاء من الذاكرة.

العثور على تسرّبات الذاكرة

للفلترة بسرعة حسب الفئات التي قد تكون مرتبطة بتسرّبات الذاكرة، افتح القائمة المنسدلة للفئات واختَر عرض تسرّبات الأنشطة/القصاصات البرمجية. يعرض استوديو Android الفئات التي يعتقد أنّها تشير إلى تسرّبات الذاكرة لمثيلَي Activity و Fragment في تطبيقك. تشمل أنواع البيانات التي يعرضها الفلتر ما يلي:

يُرجى العِلم أنّ الفلتر قد يعرض نتائج إيجابية خاطئة في الحالات التالية:

  • تم إنشاء Fragment ولكن لم يتم استخدامه بعد.
  • يتم تخزين Fragment مؤقتًا ولكن ليس كجزء من FragmentTransaction.

للبحث عن تسرّبات الذاكرة يدويًا بشكل أكبر، تصفَّح قوائم الفئات والمثيلات للعثور على العناصر التي تحتوي على الحجم المحتفظ به الكبير. ابحث عن تسرّبات الذاكرة الناتجة عن أي مما يلي:

  • المراجع الطويلة الأمد إلى Activity، Context، View، Drawable، وغيرها من العناصر التي قد تحتوي على مرجع إلى حاوية Activity أو Context.
  • الفئات الداخلية غير الثابتة، مثل Runnable، التي يمكنها الاحتفاظ بمثيل Activity.
  • التخزين المؤقت الذي يحتفظ بالعناصر لفترة أطول من اللازم.

عند العثور على تسرّبات محتملة للذاكرة، استخدِم علامتَي التبويب الحقول والمراجع في تفاصيل المثيل للانتقال إلى المثيل أو سطر رمز المصدر الذي يهمّك.

تفعيل تسرّبات الذاكرة للاختبار

لتفعيل تسرّبات الذاكرة لاختبارها في تطبيقك، يمكنك تفعيل التسرّبات بإحدى الطرق التالية:

  • أدرِ الجهاز من الوضع العمودي إلى الوضع الأفقي ثم أعده إلى الوضع العمودي عدة مرات أثناء وجودك في حالات نشاط مختلفة. يمكن أن يؤدي تدوير الجهاز غالبًا إلى تسرّب تطبيق لمثيل Activity، Context، أو View لأنّ النظام يعيد إنشاء Activity، وإذا كان تطبيقك يحتفظ بمرجع إلى أحد هذه المثيلات في مكان آخر، لا يمكن للنظام جمع البيانات غير الضرورية.
  • بدِّل بين تطبيقك وتطبيق آخر أثناء وجودك في حالات نشاط مختلفة. على سبيل المثال، انتقِل إلى الشاشة الرئيسية، ثم ارجع إلى تطبيقك.