توضّح هذه الصفحة أفضل الممارسات للتفاعل مع خريطة التنقّل في تطبيقك.
استخدِم SupportNavigationFragment
بدلاً من NavigationView
، متى أمكن ذلك.
SupportNavigationFragment
هو عنصر لفّ لتوفير الراحة في التعامل مع callbacks
NavigationView
لدورة الحياة، لذا لا تحتاج إلى إدارة callbacks
هذه بنفسك. هذه الطريقة أقل عرضة للخطأ وهي الطريقة المفضّلة
لاستخدام Navigation في تطبيقك. عند استخدام 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 بشكل صحيح.
للحصول على إرشادات إضافية حول استخدام هذه الطرق، اطّلِع على تطبيق Navigation SDK demo.
في حال استخدام NavigationView
، استخدِم أحداث مراحل النشاط من النشاط أو المقتطف، وليس من كليهما.
للحفاظ على الترتيب الصارم لأساليب دورة الحياة، يمكنك استدعاء هذه الأحداث من إما طلبات الاستدعاء لدورة حياة النشاط أو المكوّن، والتي تتلقّى هذه الأحداث بالترتيب. تضمن هذه الطريقة عدم حاجة التطبيقات إلى التنسيق بين المقاطع والنشاطات وتسبب المكالمات المكرّرة.