विज्ञापन बन्द गर्नुहोस्

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

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

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

आवेदन रनटाइम प्रकार

तपाईंको iOS यन्त्रमा रहेको एप यी ५ अवस्थाहरूमध्ये एउटामा छ:

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

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

यी राज्यहरू मध्ये कुनै पनि मल्टिटास्किङ पट्टीमा प्रतिबिम्बित हुँदैन, पट्टीले भर्खरै सुरू गरिएका एपहरूको सूची मात्र देखाउँछ जुन एप रोकिएको छ, पज गरिएको छ वा पृष्ठभूमिमा चलिरहेको छ। तपाईले यो पनि याद गर्न सक्नुहुन्छ कि हाल चलिरहेको एप्लिकेसन मल्टिटास्किङ प्यानलमा देखा पर्दैन

पृष्ठभूमि कार्यहरू

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

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

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

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

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

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

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

त्यसोभए, सामान्यतया, तपाइँलाई पृष्ठभूमि प्रक्रियाहरू प्रबन्ध गर्न आवश्यक छैन किनभने प्रणालीले तिनीहरूको हेरचाह गर्नेछ। त्यसैले iOS यस्तो ताजा र छिटो प्रणाली हो।

विकासकर्ताको दृष्टिकोणबाट

एप्लिकेसनले मल्टिटास्किङको भागको रूपमा कुल छवटा विभिन्न राज्यहरूसँग प्रतिक्रिया गर्न सक्छ:

1. applicationWillResignActive

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

2. applicationDidEnterBackground

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

3. applicationWillEnterForeground

यो राज्य पहिलो राज्यको विपरित हो, जहाँ आवेदन सक्रिय राज्यमा राजिनामा दिनेछ। राज्यको सरल अर्थ हो कि सुत्ने एप पृष्ठभूमिबाट पुनः सुरु हुनेछ र अर्को केही मिलिसेकेन्ड भित्र अग्रभूमिमा देखा पर्नेछ। अनुप्रयोग पृष्ठभूमिमा हुँदा निष्क्रिय भएका कुनै पनि प्रक्रियाहरू पुन: सुरु गर्न विकासकर्ताहरूले यो विधि प्रयोग गर्नुपर्छ। सर्भरहरूमा जडानहरू पुन: स्थापना गरिनु पर्छ, टाइमरहरू रिसेट, छविहरू र डेटा मेमोरीमा लोड हुन्छ, र अन्य आवश्यक प्रक्रियाहरू प्रयोगकर्ताले लोड गरिएको अनुप्रयोग फेरि देख्नु अघि पुन: सुरु हुन सक्छ।

4. applicationDidBecomActive

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

5. applicationWillTerminate

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

6. applicationDidReceiveMemoryWarning

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

फैसला

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

मुहान: macworld.com

लेखकहरू: Jakub Požárek, मार्टिन Doubek (ArnieX)

 
तपाईलाई पनि समस्या समाधान गर्ने हो कि ? के तपाईलाई सल्लाह चाहिन्छ वा सायद सही अनुप्रयोग फेला पार्नुहोस्? खण्डमा फारम मार्फत हामीलाई सम्पर्क गर्न नहिचकिचाउनुहोस् परामर्श, अर्को पटक हामी तपाईंको प्रश्नको जवाफ दिनेछौं।

.