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