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

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

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

SupportNavigationFragment هو حزمة لتسهيل التعامل مع callbacks في NavigationView دورة الحياة، لذا لا تحتاج إلى إدارة callbacks هذه بنفسك. وهذه الطريقة أقل عرضة للخطأ وهي الطريقة المفضّلة لاستخدام ميزة "التنقل" في تطبيقك. عند استخدام 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() دائمًا

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

للحصول على إرشادات إضافية حول استخدام هذه الطرق، اطّلِع على تطبيق الإصدار التجريبي من حزمة تطوير البرامج (SDK) للتنقّل .

في حال استخدام NavigationView، استخدِم أحداث مراحل النشاط من النشاط أو المقتطف، وليس من كليهما.

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