यह पेज, नेविगेशन मैप के साथ इंटरैक्ट करने के सबसे सही तरीकों के बारे में बताता है आपका ऐप्लिकेशन.
जहां भी हो सके, NavigationView
के बजाय SupportNavigationFragment
का इस्तेमाल करें
SupportNavigationFragment
, NavigationView
लाइफ़साइकल कॉलबैक को मैनेज करने के लिए एक रैपर है, ताकि आपको इन कॉलबैक को खुद मैनेज करने की ज़रूरत न पड़े. इस तरीके से, गड़बड़ियों की संभावना कम होती है. साथ ही, यह आपके ऐप्लिकेशन में नेविगेशन का इस्तेमाल करने का सबसे सही तरीका है. SupportNavigationFragment
का इस्तेमाल करते समय, पक्का करें कि आपने NavigationView
लाइफ़साइकल इवेंट को ट्रिगर न किया हो.
NavigationView
का इस्तेमाल करने पर, लाइफ़साइकल मेथड को लागू करते समय स्ट्रिक्ट ऑर्डर का इस्तेमाल करें
NavigationView
, नेविगेशन मैप को होस्ट करता है और लाइफ़साइकल के हिसाब से उसे फ़ॉलो करता है
इवेंट और फ़्रैगमेंट के तौर पर जोड़े गए हैं.
लाइफ़साइकल इवेंट शुरू किए जाते हैं. NavigationView
, NavigationView#onCreate
और NavigationView#onStart
पर कई बार शुरू होने की प्रोसेस को लागू करता है. साथ ही, NavigationView#onStop
और NavigationView#onDestroy
पर क्लीनअप की प्रोसेस को भी लागू करता है. ऐसा तब भी होता है, जब लाइफ़साइकल के दूसरे इवेंट प्रोसेस किए जाते हैं.
NavigationView
लाइफ़साइकल के तरीकों का मतलब वही है जो Android ऐक्टिविटी या फ़्रैगमेंट के लिए होता है. उदाहरण के लिए, NavigationView
के onCreate()
का अनुवाद, Android ऐक्टिविटी या फ़्रैगमेंट के लाइफ़साइकल कॉलबैक से किया जाता है और उसे इन कॉलबैक से शुरू किया जाना चाहिए. NavigationView
लाइफ़साइकल कॉलबैक, Android लाइफ़साइकल कॉलबैक के आधार पर होते हैं और उसी क्रम में शुरू किए जाते हैं. इसलिए, इन NavigationView तरीकों को क्रम से लगाना ज़रूरी है. नहीं तो, आप
अनुभव मेमोरी
लीक, यूज़र इंटरफ़ेस
गड़बड़ियां, जगह की जानकारी का अपडेट नहीं होना, और दूसरी समस्याएं.
Android पर की गई गतिविधि की लाइफ़साइकल के बारे में ज़्यादा जानने के लिए, देखें गतिविधि-लाइफ़साइकल के सिद्धांत सेक्शन पढ़ें.
नीचे दी गई टेबल से पता चलता है कि लाइफ़साइकल के तय किए गए तरीकों के बाद, अन्य लाइफ़साइकल तरीकों को कब शुरू किया जाना चाहिए:
लाइफ़साइकल का तरीका | गतिविधि की लाइफ़साइकल के दौरान शुरुआत की गई | लाइफ़साइकल तरीके को लागू करने के बाद शुरू किया गया |
---|---|---|
onConfigurationChanged()
|
यह तब ट्रिगर होता है, जब यूज़र इंटरफ़ेस (यूआई) फ़ोरग्राउंड में हो और कॉन्फ़िगरेशन में बदलाव हो. | हमेशा onStart() के बाद
|
onTrimMemory()
|
बैकग्राउंड में कोई गतिविधि होने पर ट्रिगर होता है. | हमेशा onPause() के बाद
|
onSaveInstance()
|
किसी गतिविधि के खत्म होने से पहले शुरू किया जाता है. | हमेशा onStop() के बाद
|
लाइफ़साइकल के इन तरीकों को कई बार कॉल न करें. ऐसा करने से पहले, उनसे जुड़े बंद करने के तरीके को कॉल करें. इसके अलावा, ध्यान रखें कि अगर इनमें से कुछ Android लाइफ़साइकल कॉलबैक को ऐप्लिकेशन खुद मैनेज करता है और NavigationView
को बनाने या शुरू करने के बाद फ़्रैगमेंट में जोड़ा जाता है, तो ऐप्लिकेशन को नेविगेशन SDK टूल को सही तरीके से शुरू करने के लिए, खास तरीकों को सही क्रम में खुद कॉल करना चाहिए.
इन तरीकों का इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, नेविगेशन SDK टूल का डेमो ऐप्लिकेशन देखें.
NavigationView
का इस्तेमाल करने पर, लाइफ़साइकल इवेंट को ऐक्टिविटी या फ़्रैगमेंट से शुरू करें, न कि दोनों से
लाइफ़साइकल मैथड के क्रम को सख्ती से बनाए रखने के लिए, इन इवेंट को गतिविधि या फ़्रैगमेंट लाइफ़साइकल कॉलबैक से शुरू करें. इन कॉलबैक को ये इवेंट क्रम से मिलते हैं. इस तरीके से यह पक्का किया जाता है कि ऐप्लिकेशन को फ़्रैगमेंट और गतिविधियों के बीच, कोऑर्डिनेट करने की ज़रूरत न पड़े और डुप्लीकेट कॉल न हों.