getApplicationContext (), getBaseContext (), getApplication (), getPierent ()


94

दोनों के बीच क्या अंतर है:

  1. getApplicationContext()
  2. getBasecontext()
  3. getApplication()
  4. getParent()

क्या आप एक सरल उदाहरण के साथ विस्तृत कर सकते हैं?


1
कृपया के माध्यम से जाने stackoverflow.com/questions/1026973/... कि एक ही बात को परिभाषित भी developer.android.com/reference/android/content/Context.html
बलबन

जवाबों:


33

getApplicationContext() एप्लिकेशन संदर्भ एप्लिकेशन से संबद्ध है और जीवन चक्र में हमेशा एक जैसा रहेगा।

getBasecontext()का उपयोग नहीं किया जाना चाहिए, बस Contextइसके बजाय का उपयोग करें जो गतिविधि से जुड़ा हुआ है और गतिविधि के नष्ट होने पर नष्ट हो सकता है।


16
getApplication () और getParent () के बारे में क्या
निकुंज पटेल

107

getApplicationContext () एप्लिकेशन संदर्भ एप्लिकेशंस के साथ जुड़ा हुआ है और पूरे जीवन चक्र में हमेशा एक जैसा रहेगा।

getBasecontext () का उपयोग नहीं किया जाना चाहिए, बस इसके बजाय Context का उपयोग करें जो गतिविधि के साथ जुड़ा हुआ है और गतिविधि के नष्ट होने पर संभव हो सकता है।

getApplication () केवल गतिविधि और सेवाओं के लिए उपलब्ध है। यद्यपि वर्तमान Android गतिविधि और सेवा कार्यान्वयन में, getApplication () और getApplicationContext () एक ही ऑब्जेक्ट लौटाते हैं, इस बात की कोई गारंटी नहीं है कि यह हमेशा मामला रहेगा (उदाहरण के लिए, एक विशिष्ट विक्रेता कार्यान्वयन में)। इसलिए यदि आप चाहते हैं कि आप जिस एप्लिकेशन वर्ग को मेनिफेस्ट में पंजीकृत करें, आपको getApplicationContext () को कभी भी कॉल नहीं करना चाहिए और इसे अपने आवेदन में डालना चाहिए, क्योंकि यह एप्लिकेशन इंस्टेंस नहीं हो सकता है (जिसे आपने स्पष्ट रूप से परीक्षण ढांचे के साथ अनुभव किया है)।

getParent () यदि वर्तमान दृश्य एक बच्चा है तो गतिविधि की वस्तु लौटाती है.. दूसरे शब्दों में बच्चे के भीतर बुलाए जाने पर बच्चे के दृश्य को होस्ट करते हुए गतिविधि ऑब्जेक्ट वापस कर देता है।


16
जैसा कि आपने उल्लेख किया है कि हमें getBaseContext () का उपयोग नहीं करना चाहिए, यदि यह इतना महत्वपूर्ण नहीं है, तो यह कोडिंग में क्यों है और इसके मुख्य फायदे क्या हैं। कृपया मुझे इसके बारे में विस्तार से बताएं
पीर फहीम शाह

getBaseContext () का उपयोग बहुत विशिष्ट स्थितियों में किया जाना चाहिए। एक बहुत अच्छा विवरण यहाँ नहीं है - medium.com/@ali.muzaffar/...
Lomza
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.