मैं सेवाओं और प्रसारण रिसीवरों के बारे में सुनता रहता हूं । उनके बीच क्या अंतर है, और वे मेरे दृष्टिकोण से मेरे एंड्रॉइड फोन के संचालन को कैसे प्रभावित करते हैं?
मैं सेवाओं और प्रसारण रिसीवरों के बारे में सुनता रहता हूं । उनके बीच क्या अंतर है, और वे मेरे दृष्टिकोण से मेरे एंड्रॉइड फोन के संचालन को कैसे प्रभावित करते हैं?
जवाबों:
Android अनुप्रयोगों में तीन प्रकार के घटक होते हैं। सामान्य तौर पर, उपयोगकर्ताओं को उनके बारे में जानने की आवश्यकता नहीं होती है: वे ऐप लेखकों के लिए अपने ऐप में विशेष व्यवहार को प्रोग्राम करने का एक तरीका है। लेकिन अगर आप अपने ऐप्स के व्यवहार को किसी कार्य प्रबंधक के साथ निकटता से देख रहे हैं, या यदि आप टास्कर जैसे ऐप के साथ चीजों को स्वचालित कर रहे हैं, तो यह समझना उपयोगी है कि वे सिस्टम में एक साथ कैसे फिट होते हैं।
एक गतिविधि सबसे परिचित प्रकार का घटक है: यह एक खिड़की है जिसे आप देख सकते हैं: या तो पूर्ण-स्क्रीन या संवाद-आकार। एक गतिविधि केवल तभी चलती है जब वह स्क्रीन पर प्रदर्शित होती है। एक बार जब आप गतिविधि छोड़ देते हैं, तो एंड्रॉइड उस ऐप को फिर से शुरू करने के लिए तैयार रखेगा, लेकिन गतिविधि नहीं चलेगी, अर्थात यह बैटरी या नेटवर्क का उपयोग नहीं करेगा। एक ऐप एक इरादे का उपयोग करके एक गतिविधि शुरू करता है । इरादा स्पष्ट रूप से निर्दिष्ट कर सकता है कि कौन सी गतिविधि शुरू करनी है, या यह प्रदर्शन करने के लिए एक क्रिया निर्दिष्ट कर सकती है (जैसे कि किसी विशेष फ़ाइल को खोलना)। यदि एक से अधिक गतिविधि इरादे को "संभाल" कर सकती हैं, तो आप संवाद को एक चुनने के लिए कह रहे हैं।
एक सेवा एक अन्य अनुप्रयोग घटक है। एक बार एक अन्य घटक (शायद एक गतिविधि, या एक अन्य सेवा) ने एक सेवा शुरू की है, यह पृष्ठभूमि में तब तक चलता है जब तक कि यह खुद को रोक नहीं देता। इसका मतलब यह है कि एक सेवा आपके फोन को जगाए रख सकती है ( वेक लॉक का उपयोग करके ), बैटरी को चलाने, या स्क्रीन पर कुछ भी दिखाए बिना बहुत सारे नेटवर्क डेटा का उपयोग करने के लिए।
ऐप्स पृष्ठभूमि में लंबे समय से चल रही प्रक्रियाओं को करने के लिए सेवाओं का उपयोग कर सकते हैं, जैसे कि सर्वर से फ़ाइलें डाउनलोड करना, या ईमेल की जांच करना, या अपना स्थान जांचना। हालाँकि सेवाएँ सीधे आपके साथ दिखाई नहीं देतीं या आपसे संपर्क नहीं करती हैं, फिर भी वे "रनिंग ऐप्स" सूची में दिखाई देती हैं। से सेटिंग्स अनुप्रयोग, चुनें ऐप्स या एप्लिकेशन प्रबंधक , और फिर चल रहा है । आप उस तरह से एक सेवा को रोक सकते हैं, लेकिन यह आमतौर पर आवश्यक नहीं है। क्योंकि सेवाएँ प्रत्यक्ष रूप से दिखाई नहीं देती हैं, Android उन्हें गतिविधियों से कम महत्वपूर्ण मानता है, इसलिए जब आपके फ़ोन को अधिक मेमोरी की आवश्यकता होगी, तो वे सबसे पहले मारे जाएंगे।
प्रसारण रिसीवर तीसरे प्रकार के घटक हैं। सेवाओं की तरह, वे केवल पृष्ठभूमि में मौजूद हैं और आपके साथ सीधे बातचीत नहीं करते हैं। लेकिन सेवाओं के विपरीत, वे लंबे समय तक काम नहीं कर सकते या प्रदर्शन नहीं कर सकते: वे घटनाओं का जवाब देने के लिए मौजूद हैं। और गतिविधियों और सेवाओं के विपरीत, एक बार में एक से अधिक प्रसारण रिसीवर शुरू किए जा सकते हैं।
एक घटक एक इरादे को प्रसारित करता है, संभवतः एक ऐप पर, लेकिन एक विशेष ऐप को निर्दिष्ट किए बिना। इस मामले में, आशय आमतौर पर एक घटना का प्रतिनिधित्व करता है, जैसे कि बैटरी कम चलना। सिस्टम सभी प्रसारण रिसीवरों को ढूंढता है जिन्होंने एक ब्याज (एक इरादे फ़िल्टर का उपयोग करके ) पंजीकृत किया है , और प्रत्येक को बदले में चलाता है। प्रत्येक प्रसारण रिसीवर सीधे प्रतिक्रिया कर सकता है, उदाहरण के लिए एक अधिसूचना बनाकर, या यह आगे की कार्रवाई करने के लिए एक सेवा या गतिविधि शुरू कर सकता है। जैसे ही प्रसारण रिसीवर ने घटना को संभाला है, इसे रोक दिया जाता है और तब तक फिर से नहीं चलेगा जब तक कि इसी तरह की दूसरी घटना प्रसारित न हो जाए।
जब आप Google Play से कोई ऐप डाउनलोड करते हैं, तो एक साथ काम करने वाले सभी तीन घटकों का एक उदाहरण है। सबसे पहले, Google Play गतिविधि आपको सामग्री डाउनलोड करने के लिए चुनने के लिए दृश्य इंटरफ़ेस प्रदान करती है। ऐप्स की सूची एक गतिविधि हो सकती है; पुष्टि या भुगतान संवाद दिखाने के लिए "इंस्टॉल" बटन पर क्लिक करने से एक और गतिविधि शुरू होती है। जब आप पुष्टि करते हैं, तो संवाद गतिविधि एक सेवा शुरू करती है। सेवा तब भी सामग्री को डाउनलोड करना जारी रखेगी जब गतिविधि समाप्त हो गई हो और अब नहीं चल रही हो।
लेकिन शायद नया ऐप डाउनलोड करते समय फोन इंटरनेट कनेक्शन खो देता है। यदि ऐसा होता है, तो Google Play की डाउनलोड सेवा एक प्रसारण रिसीवर को पंजीकृत करेगी, एक इरादे फ़िल्टर के साथ यह कहने के लिए कि यह नेटवर्क कनेक्टिविटी परिवर्तनों में रुचि रखता है, और फिर सेवा स्वयं बंद हो जाएगी। जब फोन इंटरनेट से जुड़ता है, तो सिस्टम किसी घटना को प्रसारित करता है। एंड्रॉइड उस घटना के लिए प्रतीक्षा कर रहे किसी अन्य प्रसारण रिसीवर के साथ, Google Play सेवा पंजीकृत ब्रॉडकास्टर रिसीवर को शुरू करेगा। इस मामले में, प्रसारण रिसीवर फिर से डाउनलोड सेवा शुरू करेगा। सेवा डाउनलोड के रूप में सूचनाएँ बनाएगी, और जब यह समाप्त हो जाएगी, तो यह अन्य एप्लिकेशन को सूचित करने के लिए अपना प्रसारण भेजेगा कि नया पैकेज स्थापित किया गया है, और फिर खुद को रोक देगा। बदले में, यह अन्य ऐप से प्रसारण रिसीवर शुरू करेगा,
संक्षेप में:-