ऐसा नहीं है कि आईफ़ोन कभी भी हैंग नहीं करता है लेकिन बाकी प्लेटफार्मों (जैसे एंड्राइड ) की तुलना में यह बहुत कम है।
चूँकि यह विषय तकनीकी है इसलिए पहले मैं कुछ शब्दों से आपको रुबरु कराना चाहूँगा –
UI रेंडरिंग – मोबाइल ग्राफिक्स प्रोसेसिंग यूनिट का प्राथमिक कार्य स्क्रीन पर डेटा को प्रोसेस करना है और इसे ही मोटे तौर पर रेंडरिंग कहते हैं |
थ्रेड (Thread) – जब भी किसी एप्लिकेशन को एंड्राइड में लॉन्च किया जाता है, तो यह निष्पादन (execution) का पहला थ्रेड बनाता है, जिसे “मुख्य” थ्रेड के रूप में जाना जाता है। मुख्य या main thread एक वाहक है जो सभी इवेंट्स को UI पर भेजता है और सभी इलेक्ट्रॉनिक कलपुर्जों के साथ संचार व्यस्था स्थापित करता है |
चलिए पहले एंड्राइड की बात कर लेते है –
एंड्राइड क्यों हैंग करता है
यदि हम एंड्राइड ३.० मतलब हनीकांब की बात करे तो उस समय UI (यूजर इंटरफ़ेस) में हार्डवेयर acceleration नहीं होता था मतलब धीमा प्रोसेस और हैंग की समस्या | पर हम आज की बात करें तो IOS की अपेक्षा एंड्राइड में अधिक RAM होता है (2 GB से अधिक ) तब इस समय क्या समस्या हो सकती है |
इसके मुख्य कारण हैं –
- UI रेंडरिंग को एंड्राइड में नार्मल यानि कि सामान्य सी प्राथमिकता दी जाती है (IOS की अपेक्षा ) |
- UI रेंडरिंग, मुख्य थ्रेड का प्रयोग कर के की जाती है | इसका मतलब इस समय बैकग्राउंड में आपके सभी प्रोसेस चालू ही रहेंगे जिसके कारण लैग होगा |
यदि आपके पास कोई क्वैड या ओक्टा कोर प्रोसेसर भी हो तब भी ऊपर बताये गए २ कारणों की वजह से ऐसा होता है |
पर यह बात अगर सबको पता है, तो फिर इस प्रकार के एंड्राइड UI का मूलभूत ढांचा ही क्यों न बदल दिया जाये जिससे यह समस्या न आये | पर यह इतना आसान नहीं है क्योंकि इसके लिए सभी एंड्राइड apps की दोबारा से कोडिंग करनी पड़ेगी | आज के समय में करोड़ों एंड्राइड apps हैं और हर दिन नए आते जा रहे हैं इसलिए यह बहुत ही मुश्किल है |
कुछ अन्य कारण –
- हेवी ऐप्स एंड्राइड फोन के प्रोसेसर और आंतरिक (internal) मेमोरी पर बहुत दबाव डालते है जिसमें प्री-लोडेड ब्लोटवेयर भी शामिल है |
- विजेट और अनावश्यक विशेषताएं एंड्राइड सिस्टम में मौजूद रहती हैं |
- चूँकि एंड्राइड में इंटरनल और एक्सटर्नल मेमोरी होती है और बहुत से उपयोगकर्ता सभी वस्तुओं को सेव करने के लिए इंटरनल मेमोरी का ही प्रयोग करते हैं | इसलिए समय के साथ साथ यह लैग करने लगता है |
- एक साथ बहुत सारे ऐप्प्स बैकग्राउंड में खुले रखना खासकर गेम्स, ब्राउज़र और फेसबुक |
- असत्यापित स्रोत से ऐप्प्स डाउनलोड |
- समय समय सॉफ्टवेयर अपडेट न करना |
iOS क्यों हैंग नहीं करता है
अब देखिये i फ़ोन ने चीज़ों को कैसे बदल दिया है –
- iPhone ने UI रेंडरिंग के लिए एक अलग ही (समर्पित) थ्रेड दे दिया है | इसका मुख्य थ्रेड से कोई मतलब नहीं है | इससे बैकग्राउंड में चलने वाले प्रोसेस भी मक्खन जैसे चलते हैं |
- UI रेंडरिंग को यहाँ पर उच्च प्राथमिकता दी जाती है |
- यह CPU और GPU की मिली हुई शक्ति को UI interphase संभालने के लिए भेजता है | इसका परिणाम कम लैग |
- सही सॉफ्टवेयर और हार्डवेयर का एकीकरण |
- त्वरित इंटरनल फ़्लैश स्टोरेज का प्रयोग |
- फोन संसाधनों का अत्यधिक उपयोग करने वाले ऐप्स के लिए सख्त प्रतिबंध का प्रावधान |
- एंड्राइड की अपेक्षा बेहतर सुरक्षा और कम से कम खामियां।
- प्री-लोडेड ब्लोटवेयर की कोई जगह नहीं |
- थर्ड पार्टी ऐप्प्स न के बराबर जिससे वायरस या स्पाईवेयर की कोई समस्या नहीं |
एंड्राइड के लिए क्या करें जिससे वह हैंग न हो |
- जब आप एक ही समय पर कई सारे एप्लिकेशन चलाते हैं, तो आपका मोबाइल स्वचालित रूप से हैंग हो जाता है । एक बार में एक ही एप्लिकेशन का प्रयोग सुनिश्चित करें वरना आपका मोबाइल गर्म होकर हैंग होने लगेगा |
- समय समय पर इंटरनल मेमोरी से अनावश्यक एप्लिकेशन, फ़ोटो या वीडियो को हटाना सुनिश्चित करें।
- सभी एप्लिकेशन, वीडियो और फोटो को मेमोरी कार्ड (एसडी कार्ड) में सेव करें न कि इंटरनल मेमोरी में |
- इंस्टॉल किए गए कई एप्लिकेशन को एक्सटर्नल मेमोरी में ले जाएं | इसके लिए ऐप्प्स भी आते हैं |
- अपनी फ़ाइलों को प्रबंधित करें और अनावश्यक फ़ाइलों, कुकीज और cache आदि को समय समय पर हटाना याद रखें। cc cleaner का उपयोग कर सकते हैं |
- बीच बीच में खुले हुए एप्लिकेशन को पूरी तरह बंद करें |
- सॉफ्टवेयर को नियमित रूप से अपडेट करते रहें |
- अपने फोन के specs को समझें, जैसे मेरे फ़ोन में क्या प्रोसेसर है और RAM कितनी है | उसी के हिसाब से ऐप्प्स और गेम्स इनस्टॉल करें |