गतिविधि और संदर्भ समान हैं, या क्या अंतर हैं?
मुझे एक गतिविधि कब पास करनी चाहिए, और एक प्रसंग कब होना चाहिए?
गतिविधि और संदर्भ समान हैं, या क्या अंतर हैं?
मुझे एक गतिविधि कब पास करनी चाहिए, और एक प्रसंग कब होना चाहिए?
जवाबों:
जहां तक मैं समझता हूं:
संदर्भ आधार वस्तु है। इसलिए हर गतिविधि समान है जो अनुप्रयोग संदर्भ से प्राप्त होती है। इसका मतलब है कि हर गतिविधि और हर Application
आईएस ए Context
;
से developer.android.com
गतिविधि
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
और आवेदन
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
एक एप्लिकेशन संदर्भ तब तक रहता है, जब तक आपका ऐप जीवित है, जबकि गतिविधि संदर्भ आपकी गतिविधि के साथ मर जाता है (यह onDestroy
उस गतिविधि के बाद मान्य नहीं है )।
इसलिए यदि आपको गतिविधियों के संदर्भ में (एक सिंगलटन में) संदर्भ की आवश्यकता है, तो आप एक एप्लिकेशन संदर्भ का उपयोग करके बेहतर होंगे।
आमतौर पर एंड्रॉइड फ्रेमवर्क विधियों पर जहां एक संदर्भ की उम्मीद की जाती है, इससे कोई फर्क नहीं पड़ता है कि आप कौन से पास करते हैं। यदि आप लंबे समय तक रहने वाले संदर्भों को एक संदर्भ में रख रहे हैं, लेकिन मेमोरीलीक्स के बारे में हमेशा जागरूक रहें
जैसा कि आप Android doc पर देख सकते हैं :
गतिविधि वर्ग "ContextThemeWrapper" से फैलता है, और यह "ContextWrapper" से, और "Context" से एक होता है।
तो, हाँ, एक गतिविधि प्रसंग का विस्तार करती है!