इस पेज पर, आपके ऐप्लिकेशन में नेविगेशन मैप के साथ इंटरैक्ट करने के सबसे सही तरीके बताए गए हैं.
जब भी हो सके, NavigationView
के बजाय SupportNavigationFragment
का इस्तेमाल करें
SupportNavigationFragment
, NavigationView
लाइफ़साइकल कॉलबैक को आसानी से हैंडल करने के लिए एक रैपर है. इसलिए, आपको इन कॉलबैक को खुद मैनेज करने की ज़रूरत नहीं है. इस तरीके में गड़बड़ियां होने की आशंका कम होती है. साथ ही, यह आपके ऐप्लिकेशन में नेविगेशन का इस्तेमाल करने का सबसे सही तरीका है. SupportNavigationFragment
का इस्तेमाल करते समय, NavigationView
लाइफ़साइकल इवेंट को लागू न करें.
अगर NavigationView
का इस्तेमाल किया जा रहा है, तो लाइफ़साइकल के तरीकों को लागू करते समय, क्रम से लागू करने के नियम का पालन करें
NavigationView
Navigation मैप को होस्ट करता है. साथ ही, 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 का डेमो ऐप्लिकेशन देखें.
अगर NavigationView
का इस्तेमाल किया जा रहा है, तो गतिविधि या फ़्रैगमेंट से लाइफ़साइकल इवेंट शुरू करें. दोनों से नहीं
लाइफ़साइकल के तरीकों को सही क्रम में रखने के लिए, इन इवेंट को गतिविधि या फ़्रैगमेंट के लाइफ़साइकल कॉलबैक से शुरू करें. ये कॉलबैक, इन इवेंट को क्रम से पाते हैं. इस तरीके से यह पक्का किया जाता है कि ऐप्लिकेशन को फ़्रैगमेंट और गतिविधियों के बीच समन्वय करने की ज़रूरत न पड़े और डुप्लीकेट कॉल न हों.