मेरे पास एक एंड्रॉइड एप्लिकेशन है जो एक सतत सेवा के लिए बाध्यकारी है (एक बार startService()
के साथ शुरू हुआ)।किसी एप्लिकेशन में किसी सेवा में स्पष्ट रूप से बाध्यकारी/अनबाइंडिंग
सेवा एप्लिकेशन का एक अभिन्न अंग है और इस प्रकार लगभग हर गतिविधि में उपयोग किया जाता है। इसलिए मैं केवल एक बार सेवा (बाध्यकारी/बाध्यकारी की बजाय प्रत्येक गतिविधि में) से जुड़ना चाहता हूं और अपने आवेदन के जीवनकाल के दौरान बाध्यकारी रखना चाहता हूं।
मैं Application से बढ़ा हूं और Application#onCreate() में सेवा से जुड़ गया हूं।
इस विधि नकल करते प्रक्रिया वातावरण में प्रयोग के लिए है: हालांकि मैं अब समस्या यह है कि मैं जब अपने आवेदन Application#onTerminate() के बाद से मौजूद है कभी नहीं कहा जाता है पता नहीं है है, जावाडोक देखते हैं। यह कभी भी उत्पादन एंड्रॉइड डिवाइस पर नहीं बुलाया जाएगा, जहां प्रक्रियाओं को आसानी से मार कर हटा दी जाती है; कोई उपयोगकर्ता कोड (इस कॉलबैक सहित) ऐसा करने पर निष्पादित किया गया है।
तो मैं आवेदन में बंधे सेवा से कैसे साफ हो सकता हूं?
आपकी सेवा स्क्रीन रोटेशन कैसे टिकती है? –
आपका क्या मतलब है? एंड्रॉइड में एक सेवा में यूआई नहीं है इसलिए यह चल रहा है। इस मामले में सेवा को पहले 'context.startService()' के साथ शुरू किया गया था और चिपचिपा चिह्नित किया गया है, इसलिए यह तब तक चलता है जब तक कि यह मैन्युअल रूप से बंद नहीं हो जाता है या स्वयं बंद हो जाता है। –
मैं देखता हूं। मैं सोच रहा था कि बाध्यकारी जारी करने से सेवा बंद हो जाएगी, लेकिन इस हाइब्रिड-सेवा मामले में नहीं। एक लीक सेवा कनेक्शन से बचने के लिए बाध्यकारी जारी किया जाता है। –