أفضل الممارسات المتعلّقة بالتفاعل مع خريطة التنقّل

تشرح هذه الصفحة أفضل الممارسات للتفاعل مع "خريطة التنقّل" في تطبيقك.

استخدِم SupportNavigationFragment بدلاً من NavigationView كلّما أمكن ذلك

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

في حال استخدام NavigationView، استخدِم ترتيبًا صارمًا عند استدعاء طرق دورة الحياة

تستضيف NavigationView "خريطة التنقّل" وتتّبع أحداث دورة الحياة عن كثب مثل أنشطة Android وأجزائه، وتتّخذ إجراءات معيّنة عند استدعاء أحداث دورة الحياة هذه. NavigationView تنفّذ عمليات تهيئة متعدّدة على NavigationView#onCreate وNavigationView#onStart، وعمليات تنظيف على NavigationView#onStop وNavigationView#onDestroy، بالإضافة إلى معالجة أحداث دورة الحياة الأخرى.

تحمل طرق دورة حياة NavigationView المعنى نفسه الذي تحمله لأنشطة Android أو أجزائه. على سبيل المثال، تتم ترجمة onCreate() في NavigationView تقريبًا إلى معاودات الاتصال بدورة الحياة من نشاط Android أو جزء منه، ويجب استدعاؤها من خلالها. بما أنّ معاودات الاتصال بدورة حياة NavigationView تستند إلى معاودات الاتصال بدورة حياة Android ويتم استدعاؤها بالترتيب نفسه، يجب فرض ترتيب صارم لطرق NavigationView هذه. وإلا، قد تواجه تسرّبات في الذاكرة وأخطاء في واجهة المستخدم وعدم تعديل الموقع الجغرافي ومشاكل أخرى.

لمزيد من المعلومات عن مراحل نشاط Android، يُرجى الاطّلاع على قسم مفاهيم مراحل النشاط في مستندات مطوّري برامج Android.

يوضّح الجدول التالي متى يجب استدعاء طرق دورة الحياة الأخرى، بعد طرق دورة الحياة المحدّدة:

طريقة دورة الحياة المكان الذي يتم فيه استدعاء الطريقة في مراحل النشاط طريقة دورة الحياة التي يتم استدعاء الطريقة بعدها
onConfigurationChanged() يتم استدعاؤها عندما تكون واجهة المستخدم في المقدّمة وتتغيّر الإعدادات. دائمًا بعد onStart()
onTrimMemory() يتم استدعاؤها عندما يكون النشاط في الخلفية. دائمًا بعد onPause()
onSaveInstance() يتم استدعاؤها قبل إتلاف النشاط. دائمًا بعد onStop()

لا تستدعِ طرق دورة الحياة هذه عدة مرات بدون استدعاء طريقة الإغلاق المقابلة أولاً. بالإضافة إلى ذلك، ضَع في اعتبارك أنّه إذا كان التطبيق نفسه يدير بعض معاودات الاتصال بدورة حياة Android هذه، وتمت إضافة NavigationView إلى الجزء بعد الإنشاء أو البدء، يجب أن يستدعي التطبيق الطرق المحدّدة بنفسه بالترتيب المناسب من أجل تهيئة Navigation SDK بشكلٍ صحيح.

للحصول على إرشادات إضافية حول استخدام هذه الطرق، يُرجى الاطّلاع على التطبيق التجريبي Navigation SDK app.

في حال استخدام NavigationView، استدعِ أحداث دورة الحياة من النشاط أو الجزء، وليس من كليهما

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