विज्ञापन बंद करें

अभी भी बहुत से लोग हैं जो नहीं जानते कि iOS में मल्टीटास्किंग कैसे काम करती है। हालाँकि, आरंभ करने के लिए, यह बताना आवश्यक है कि यह वास्तविक मल्टीटास्किंग नहीं है, बल्कि एक बहुत ही स्मार्ट समाधान है जो सिस्टम या उपयोगकर्ता पर बोझ नहीं डालता है।

अक्सर यह अंधविश्वास सुनने को मिलता है कि iOS में बैकग्राउंड में चलने वाले ऐप्स ऑपरेटिंग मेमोरी को भर देते हैं, जिससे सिस्टम धीमा हो जाता है और बैटरी लाइफ खराब हो जाती है, इसलिए यूजर को इन्हें मैन्युअल रूप से बंद कर देना चाहिए। मल्टीटास्किंग बार में वास्तव में सभी चल रही पृष्ठभूमि प्रक्रियाओं की सूची नहीं होती है, बल्कि केवल सबसे हाल ही में लॉन्च किए गए एप्लिकेशन होते हैं। इसलिए उपयोगकर्ता को कुछ मामलों को छोड़कर पृष्ठभूमि में चल रही प्रक्रियाओं के बारे में चिंता करने की ज़रूरत नहीं है। जब आप होम बटन दबाते हैं, तो एप्लिकेशन आमतौर पर निष्क्रिय हो जाता है या बंद हो जाता है, जिससे यह प्रोसेसर या बैटरी को लोड नहीं करता है और यदि आवश्यक हो तो आवश्यक मेमोरी को मुक्त कर देता है।

इसलिए जब आपके पास दर्जनों प्रक्रियाएं चल रही हों तो यह पूर्ण मल्टीटास्किंग नहीं है। केवल एक एप्लिकेशन हमेशा अग्रभूमि में चल रहा होता है, जिसे आवश्यकता पड़ने पर रोक दिया जाता है या पूरी तरह से बंद कर दिया जाता है। पृष्ठभूमि में केवल कुछ ही द्वितीयक प्रक्रियाएँ चलती हैं। यही कारण है कि आपको आईओएस पर शायद ही कभी एप्लिकेशन क्रैश का सामना करना पड़ेगा, उदाहरण के लिए एंड्रॉइड रनिंग एप्लिकेशन से अभिभूत है जिसका उपयोगकर्ता को ध्यान रखना पड़ता है। एक ओर, यह डिवाइस के साथ काम करना अप्रिय बनाता है, और दूसरी ओर, यह, उदाहरण के लिए, धीमी गति से स्टार्टअप और अनुप्रयोगों के बीच संक्रमण का कारण बनता है।

एप्लिकेशन रनटाइम प्रकार

आपके iOS डिवाइस पर एप्लिकेशन इन 5 स्थितियों में से एक में है:

  • दौड़ना: एप्लिकेशन प्रारंभ हो गया है और अग्रभूमि में चल रहा है
  • पृष्ठभूमि: यह अभी भी चल रहा है लेकिन पृष्ठभूमि में चल रहा है (हम अन्य एप्लिकेशन का उपयोग कर सकते हैं)
  • निलंबित: अभी भी RAM का उपयोग हो रहा है लेकिन चल नहीं रहा है
  • निष्क्रिय: एप्लिकेशन चल रहा है लेकिन अप्रत्यक्ष आदेश (उदाहरण के लिए, जब आप एप्लिकेशन चलने के साथ डिवाइस को लॉक करते हैं)
  • चल नहीं रहा: एप्लिकेशन समाप्त हो गया है या प्रारंभ नहीं हुआ है

भ्रम तब होता है जब ऐप बैकग्राउंड में चला जाता है ताकि परेशान न हो। जब आप होम बटन दबाते हैं या एप्लिकेशन (आईपैड) को बंद करने के लिए जेस्चर का उपयोग करते हैं, तो एप्लिकेशन पृष्ठभूमि में चला जाता है। अधिकांश ऐप्स सेकंड के भीतर निलंबित हो जाते हैं (वे iDevice की रैम में संग्रहीत होते हैं ताकि उन्हें जल्दी से लॉन्च किया जा सके, वे प्रोसेसर पर ज्यादा लोड नहीं डालते हैं और इस प्रकार बैटरी जीवन बचाते हैं) आप सोच सकते हैं कि यदि कोई ऐप मेमोरी का उपयोग करना जारी रखता है, तो आपके पास है इसे मुक्त करने के लिए इसे मैन्युअल रूप से हटाएं। लेकिन आपको ऐसा करने की ज़रूरत नहीं है, क्योंकि iOS आपके लिए यह करेगा। यदि आपके पास पृष्ठभूमि में कोई मांगलिक एप्लिकेशन निलंबित है, जैसे कि कोई गेम जो बड़ी मात्रा में रैम का उपयोग करता है, तो आवश्यकता पड़ने पर iOS स्वचालित रूप से इसे मेमोरी से हटा देगा, और आप एप्लिकेशन आइकन को टैप करके इसे पुनः आरंभ कर सकते हैं।

इनमें से कोई भी स्थिति मल्टीटास्किंग बार में प्रतिबिंबित नहीं होती है, बार केवल हाल ही में लॉन्च किए गए ऐप्स की सूची दिखाता है, भले ही ऐप बंद हो, रोका गया हो, या पृष्ठभूमि में चल रहा हो। आप यह भी देख सकते हैं कि जो एप्लिकेशन वर्तमान में चल रहा है वह मल्टीटास्किंग पैनल में दिखाई नहीं देता है

नेपथ्य कार्य

आम तौर पर, जब आप होम बटन दबाते हैं, तो एप्लिकेशन पृष्ठभूमि में चलेगा, और यदि आप इसका उपयोग नहीं कर रहे हैं, तो यह स्वचालित रूप से पांच सेकंड के भीतर रुक जाएगा। उदाहरण के लिए, यदि आप पॉडकास्ट डाउनलोड कर रहे हैं, तो सिस्टम इसका मूल्यांकन एक चालू एप्लिकेशन के रूप में करता है और समाप्ति में दस मिनट की देरी करता है। अधिकतम दस मिनट के बाद, प्रक्रिया मेमोरी से रिलीज़ हो जाती है। संक्षेप में, आपको होम बटन दबाकर अपने डाउनलोड को बाधित करने की चिंता करने की ज़रूरत नहीं है, अगर इसे पूरा करने में 10 मिनट से अधिक समय नहीं लगता है।

पृष्ठभूमि में अनिश्चितकालीन चल रहा है

निष्क्रियता के मामले में, सिस्टम पांच सेकंड के भीतर एप्लिकेशन को समाप्त कर देता है, और डाउनलोड के मामले में, समाप्ति में दस मिनट की देरी होती है। हालाँकि, बहुत कम संख्या में ऐसे एप्लिकेशन हैं जिन्हें पृष्ठभूमि में चलाने की आवश्यकता होती है। यहां ऐसे ऐप्स के कुछ उदाहरण दिए गए हैं जो iOS 5 में बैकग्राउंड में अनिश्चित काल तक चल सकते हैं:

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

यदि सभी एप्लिकेशन अब कोई कार्य नहीं कर रहे हैं (जैसे पृष्ठभूमि डाउनलोड) तो उन्हें बंद कर देना चाहिए। हालाँकि, ऐसे अपवाद हैं जो पृष्ठभूमि में लगातार चलते रहते हैं, जैसे कि मूल मेल ऐप। यदि वे पृष्ठभूमि में चल रहे हैं, तो वे मेमोरी, सीपीयू उपयोग या बैटरी जीवन को कम कर देते हैं

जिन ऐप्स को पृष्ठभूमि में अनिश्चित काल तक चलने की अनुमति है, वे चलते समय संगीत चलाने से लेकर नए पॉडकास्ट एपिसोड डाउनलोड करने तक कुछ भी कर सकते हैं।

जैसा कि मैंने पहले बताया, यूजर को कभी भी बैकग्राउंड में चल रहे ऐप्स को बंद करने की जरूरत नहीं पड़ती। इसका एकमात्र अपवाद तब होता है जब पृष्ठभूमि में चल रहा कोई ऐप क्रैश हो जाता है या ठीक से नींद से नहीं उठता है। इसके बाद उपयोगकर्ता मल्टीटास्किंग बार में एप्लिकेशन को मैन्युअल रूप से बंद कर सकता है, लेकिन ऐसा कम ही होता है।

इसलिए, सामान्य तौर पर, आपको पृष्ठभूमि प्रक्रियाओं को प्रबंधित करने की आवश्यकता नहीं है क्योंकि सिस्टम स्वयं उनकी देखभाल करेगा। इसीलिए iOS इतना ताज़ा और तेज़ सिस्टम है।

एक डेवलपर के दृष्टिकोण से

एप्लिकेशन मल्टीटास्किंग के ढांचे के भीतर कुल छह अलग-अलग राज्यों के साथ प्रतिक्रिया कर सकता है:

1. एप्लिकेशनविलरिजाइनएक्टिव

अनुवाद में, इस स्थिति का अर्थ है कि एप्लिकेशन भविष्य में सक्रिय एप्लिकेशन (यानी, अग्रभूमि में एप्लिकेशन) के रूप में इस्तीफा दे देगा (कुछ मिलीसेकंड का मामला)। ऐसा होता है, उदाहरण के लिए, एप्लिकेशन का उपयोग करते समय कॉल प्राप्त करते समय, लेकिन साथ ही, यह विधि एप्लिकेशन के पृष्ठभूमि में जाने से पहले भी इस स्थिति का कारण बनती है, इसलिए आपको इन परिवर्तनों को ध्यान में रखना होगा। यह विधि इसलिए भी उपयुक्त है कि, उदाहरण के लिए, इनकमिंग कॉल आने पर यह अपने द्वारा की जाने वाली सभी गतिविधियों को निलंबित कर देती है और कॉल समाप्त होने तक प्रतीक्षा करती है।

2. एप्लिकेशनडिडएंटरबैकग्राउंड

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

3. एप्लिकेशनविलएंटरफोरग्राउंड

यह स्थिति पहली स्थिति के विपरीत है, जहां एप्लिकेशन सक्रिय स्थिति से इस्तीफा दे देगा। स्थिति का सीधा सा मतलब है कि स्लीपिंग ऐप पृष्ठभूमि से फिर से शुरू हो जाएगा और अगले कुछ मिलीसेकंड के भीतर अग्रभूमि में दिखाई देगा। डेवलपर्स को किसी भी प्रक्रिया को फिर से शुरू करने के लिए इस पद्धति का उपयोग करना चाहिए जो एप्लिकेशन के पृष्ठभूमि में रहने के दौरान निष्क्रिय थी। सर्वर से कनेक्शन फिर से स्थापित किया जाना चाहिए, टाइमर रीसेट किया जाना चाहिए, छवियों और डेटा को मेमोरी में लोड किया जाना चाहिए, और अन्य आवश्यक प्रक्रियाएं उपयोगकर्ता द्वारा लोड किए गए एप्लिकेशन को दोबारा देखने से ठीक पहले फिर से शुरू हो सकती हैं।

4. एप्लिकेशनडिडबीकमएक्टिव

राज्य इंगित करता है कि एप्लिकेशन अग्रभूमि पर पुनर्स्थापित होने के बाद सक्रिय हो गया है। यह एक ऐसी विधि है जिसका उपयोग उपयोगकर्ता इंटरफ़ेस में अतिरिक्त समायोजन करने या यूआई को उसकी मूल स्थिति में पुनर्स्थापित करने आदि के लिए किया जा सकता है। यह वास्तव में उस समय होता है जब उपयोगकर्ता पहले से ही डिस्प्ले पर एप्लिकेशन देखता है, इसलिए यह आवश्यक है सावधानी से निर्धारित करें कि इस विधि में और पिछली विधि में क्या होता है। इन्हें कुछ मिलीसेकंड के अंतर से एक के बाद एक बुलाया जाता है।

5. आवेदन समाप्त हो जाएगा

यह स्थिति एप्लिकेशन के समाप्त होने से कुछ मिलीसेकंड पहले होती है, यानी एप्लिकेशन के वास्तव में समाप्त होने से पहले। या तो मैन्युअल रूप से मल्टीटास्किंग से या डिवाइस को बंद करते समय। इस पद्धति का उपयोग संसाधित डेटा को सहेजने, सभी गतिविधियों को समाप्त करने और उस डेटा को हटाने के लिए किया जाना चाहिए जिसकी अब आवश्यकता नहीं होगी।

6. applicationDidReceiveMemoryWarning

यह आखिरी राज्य है जो सबसे ज्यादा चर्चा में है. यदि यह अनावश्यक रूप से सिस्टम संसाधनों का उपयोग करता है, तो यदि आवश्यक हो, तो iOS मेमोरी से एप्लिकेशन को हटाने के लिए यह जिम्मेदार है। मैं विशेष रूप से नहीं जानता कि iOS बैकग्राउंड ऐप्स के साथ क्या करता है, लेकिन अगर उसे अन्य प्रक्रियाओं के लिए संसाधनों को जारी करने के लिए किसी ऐप की आवश्यकता होती है, तो यह उसे मेमोरी चेतावनी के साथ संकेत देता है कि उसके पास जो भी संसाधन हैं उन्हें जारी कर दे। तो इस विधि को एप्लिकेशन में कहा जाता है। डेवलपर्स को इसे कार्यान्वित करना चाहिए ताकि एप्लिकेशन आवंटित मेमोरी को छोड़ दे, प्रगति पर सब कुछ सहेज सके, मेमोरी से अनावश्यक डेटा साफ़ कर दे, और अन्यथा पर्याप्त रूप से मेमोरी को मुक्त कर दे। यह सच है कि कई डेवलपर्स, यहां तक ​​​​कि शुरुआती भी, ऐसी चीजों के बारे में नहीं सोचते या समझते हैं, और फिर ऐसा हो सकता है कि उनका एप्लिकेशन बैटरी जीवन को खतरे में डालता है और/या पृष्ठभूमि में भी अनावश्यक रूप से सिस्टम संसाधनों का उपभोग करता है।

निर्णय

ये छह स्थितियाँ और उनसे जुड़ी विधियाँ iOS में सभी "मल्टीटास्किंग" की पृष्ठभूमि हैं। यह एक महान प्रणाली है, जब तक डेवलपर्स इस तथ्य को नजरअंदाज नहीं करते हैं कि एप्लिकेशन उनके उपयोगकर्ताओं के उपकरणों पर क्या फेंकता है, अगर उन्हें कम किया जाता है या सिस्टम से चेतावनियां मिलती हैं, इसके बारे में जिम्मेदार होने की आवश्यकता है।

स्रोत: Macworld.com

लेखक: जैकब पोज़ारेक, मार्टिन डौबेक (अर्नीएक्स)

 
क्या आपके पास भी हल करने के लिए कोई समस्या है? क्या आपको सलाह की आवश्यकता है या शायद सही आवेदन मिल गया है? अनुभाग में दिए गए फ़ॉर्म के माध्यम से हमसे संपर्क करने में संकोच न करें काउंसिलिंग, अगली बार हम आपके प्रश्न का उत्तर देंगे।

.