स्नैपशॉट, Android वर्चुअल डिवाइस (एवीडी) की सेव की गई इमेज होती है. यह डिवाइस की पूरी स्थिति को सेव करती है. इसमें ओएस सेटिंग, ऐप्लिकेशन की स्थिति, और उपयोगकर्ता का डेटा शामिल होता है. सेव की गई सिस्टम की स्थिति पर वापस जाने के लिए, स्नैपशॉट लोड किया जा सकता है. इससे आपको वर्चुअल डिवाइस पर ऑपरेटिंग सिस्टम और ऐप्लिकेशन के रीस्टार्ट होने का इंतज़ार नहीं करना पड़ता. साथ ही, आपको अपने ऐप्लिकेशन को उस स्थिति में वापस लाने की ज़रूरत नहीं पड़ती जहां से आपको टेस्टिंग फिर से शुरू करनी है. स्नैपशॉट लोड करके वर्चुअल डिवाइस शुरू करना, किसी फ़िज़िकल डिवाइस को स्लीप मोड से चालू करने जैसा है. यह डिवाइस को बंद होने के बाद बूट करने जैसा नहीं है.
हर एवीडी के लिए, एक क्विक बूट स्नैपशॉट और जितने चाहें उतने सामान्य स्नैपशॉट बनाए जा सकते हैं.
स्नैपशॉट का फ़ायदा पाने का सबसे आसान तरीका, क्विक बूट स्नैपशॉट का इस्तेमाल करना है. डिफ़ॉल्ट रूप से, हर एवीडी को इस तरह सेट किया जाता है कि बंद होने पर, वह क्विक बूट स्नैपशॉट अपने-आप सेव कर ले. साथ ही, शुरू होने पर क्विक बूट स्नैपशॉट से लोड हो जाए.
जब कोई एवीडी पहली बार शुरू होता है, तो उसे कोल्ड बूट करना होता है. यह ठीक वैसे ही होता है जैसे किसी डिवाइस को चालू करना. अगर क्विक बूट की सुविधा चालू है, तो इसके बाद के सभी बूट, तय किए गए स्नैपशॉट से लोड होते हैं. साथ ही, सिस्टम को उस स्नैपशॉट में सेव की गई स्थिति में वापस लाया जाता है.
कोल्ड बूट की तुलना में, क्विक बूट स्नैपशॉट का इस्तेमाल करके, AVD को 10 गुना तेज़ी से बूट किया जा सकता है. इसलिए, हमारा सुझाव है कि एवीडी पर पहली बार बूट करने के बाद, Quick Boot का इस्तेमाल करें. हालांकि, ऐसा सिर्फ़ तब करें, जब यह सुविधा उपलब्ध हो.
स्नैपशॉट, सिस्टम इमेज, एवीडी कॉन्फ़िगरेशन, और एम्युलेटर की उन सुविधाओं के लिए मान्य होते हैं जिनके साथ उन्हें सेव किया जाता है. इनमें से किसी भी जगह पर बदलाव करने से, असर वाले एवीडी के सभी स्नैपशॉट अमान्य हो जाते हैं. Android Emulator, सिस्टम इमेज या AVD की सेटिंग में कोई भी बदलाव करने पर, AVD की सेव की गई स्थिति रीसेट हो जाती है. इसलिए, अगली बार AVD शुरू करने पर, उसे कोल्ड बूट करना होगा.
स्नैपशॉट सेव करने, लोड करने, और मैनेज करने के ज़्यादातर कंट्रोल, स्नैपशॉट पैनल में मौजूद स्नैपशॉट और सेटिंग टैब में होते हैं. अगर Android Studio में टूल विंडो में एम्युलेटर चल रहा है, तो स्नैपशॉट पैन बटन, एम्युलेटर टूलबार में होता है. अगर Android Studio से बाहर किसी स्टैंडअलोन विंडो में एम्युलेटर चलाया जा रहा है, तो स्नैपशॉट पैनल, ज़्यादा कंट्रोल विंडो में होता है.
कमांड लाइन से एम्युलेटर शुरू करते समय, क्विक बूट के विकल्पों को भी कंट्रोल किया जा सकता है.
क्विक बूट के स्नैपशॉट सेव करना
आपके पास यह तय करने का विकल्प होता है कि एम्युलेटर बंद होने पर, स्नैपशॉट अपने-आप सेव हो या नहीं. इस व्यवहार को कंट्रोल करने के लिए, यह तरीका अपनाएं:
- स्नैपशॉट की सेटिंग खोलें. अगर एम्युलेटर को Android Studio में एम्बेड किया गया है, तो टूलबार में स्नैपशॉट पर क्लिक करें. अगर एम्युलेटर किसी अलग विंडो में है, तो ज़्यादा कंट्रोल विंडो खोलें.
- कंट्रोल की स्नैपशॉट कैटगरी में, सेटिंग टैब पर जाएं.
क्विकबूट के लिए मौजूदा स्थिति अपने-आप सेव हो जाती है मेन्यू का इस्तेमाल करके, इनमें से कोई एक विकल्प चुनें:
हां: एम्युलेटर बंद करने पर, हमेशा एवीडी स्नैपशॉट सेव करें. यह डिफ़ॉल्ट विकल्प है.
नहीं: एम्युलेटर बंद करने पर, एवीडी स्नैपशॉट सेव न करें.
आपने जो विकल्प चुना है वह सिर्फ़ खुले हुए एवीडी पर लागू होगा. एडीबी के ऑफ़लाइन होने पर स्नैपशॉट सेव नहीं किए जा सकते. जैसे, जब एवीडी बूट हो रहा हो.
सामान्य स्नैपशॉट सेव करना
हर एवीडी के लिए, सिर्फ़ एक क्विक बूट स्नैपशॉट हो सकता है. हालांकि, हर एवीडी के लिए कई सामान्य स्नैपशॉट हो सकते हैं.
सामान्य स्नैपशॉट सेव करने के लिए, स्नैपशॉट पैनल खोलें. इसके बाद, इसके निचले दाएं कोने में मौजूद स्नैपशॉट लें बटन पर क्लिक करें.
चुने गए स्नैपशॉट का नाम और ब्यौरा बदलने के लिए, पैनल में सबसे नीचे मौजूद बदलाव करें
बटन पर क्लिक करें.
स्नैपशॉट मिटाना
किसी स्नैपशॉट को मैन्युअल तरीके से मिटाने के लिए, स्नैपशॉट पैनल खोलें. इसके बाद, स्नैपशॉट चुनें और पैनल में सबसे नीचे मौजूद, मिटाएं बटन पर क्लिक करें.
आपके पास यह तय करने का विकल्प भी होता है कि क्या अमान्य होने पर, एम्युलेटर को स्नैपशॉट अपने-आप मिटाने चाहिए. जैसे, एवीडी की सेटिंग या एम्युलेटर का वर्शन बदलने पर. डिफ़ॉल्ट रूप से, एम्युलेटर आपसे पूछता है कि क्या आपको अमान्य स्नैपशॉट मिटाने हैं. इस सेटिंग को बदलने के लिए, स्नैपशॉट पैनल के सेटिंग टैब में मौजूद, अमान्य स्नैपशॉट मिटाएं मेन्यू का इस्तेमाल करें.
स्नैपशॉट लोड करना
किसी भी समय स्नैपशॉट लोड करने के लिए, एम्युलेटर का स्नैपशॉट पैनल खोलें. इसके बाद, स्नैपशॉट कैटगरी चुनें, कोई स्नैपशॉट चुनें, और पैनल में सबसे नीचे मौजूद लोड करें बटन पर क्लिक करें.
Android Studio 3.2 और इसके बाद के वर्शन में, हर डिवाइस कॉन्फ़िगरेशन में वर्चुअल डिवाइस कॉन्फ़िगरेशन डायलॉग में, बेहतर सेटिंग में बूट विकल्प कंट्रोल शामिल होता है. इस कंट्रोल का इस्तेमाल करके, यह तय किया जा सकता है कि एवीडी शुरू करते समय कौनसी स्नैपशॉट लोड करनी है.
क्विक बूट की सुविधा बंद करें
अगर आपको क्विक बूट की सुविधा बंद करनी है, ताकि आपका एवीडी हमेशा कोल्ड बूट करे, तो यह तरीका अपनाएं:
- टूल > डिवाइस मैनेजर चुनें और इस एवीडी में बदलाव करें
पर क्लिक करें.
- ऐडवांस सेटिंग दिखाएं पर क्लिक करें और नीचे की ओर स्क्रोल करके इम्यूलेटेड परफ़ॉर्मेंस पर जाएं.
- कोल्ड बूट को चुनें.
एक बार कोल्ड बूट करें
क्विक बूट की सुविधा को पूरी तरह से बंद करने के बजाय, डिवाइस मैनेजर में जाकर, एवीडी के मेन्यू में मौजूद कोल्ड बूट पर क्लिक करके कोल्ड बूट किया जा सकता है.
स्नैपशॉट से जुड़ी ज़रूरी शर्तें और समस्या हल करने का तरीका
- स्नैपशॉट, Android 4.0.4 (एपीआई लेवल 15) या इससे पहले के वर्शन पर काम नहीं करते.
- स्नैपशॉट, Android 8.0 (एपीआई लेवल 26) के लिए ARM सिस्टम इमेज के साथ काम नहीं करते हैं.
- अगर स्नैपशॉट से इम्यूलेटर बूट नहीं होता है, तो डिवाइस मैनेजर में जाकर एवीडी के लिए कोल्ड बूट को चुनें और गड़बड़ी की रिपोर्ट सबमिट करें.
- सॉफ़्टवेयर रेंडरिंग चालू होने पर, स्नैपशॉट भरोसेमंद नहीं होते. अगर स्नैपशॉट काम नहीं करते हैं, तो डिवाइस मैनेजर में जाकर, इस एवीडी में बदलाव करें
पर क्लिक करें. इसके बाद, ग्राफ़िक्स को हार्डवेयर या ऑटोमैटिक पर सेट करें.
- स्नैपशॉट लोड करना या सेव करना, मेमोरी का ज़्यादा इस्तेमाल करने वाली प्रोसेस है. अगर लोड या सेव करने की कार्रवाई शुरू होने पर, आपके पास ज़रूरत के हिसाब से रैम खाली नहीं है, तो ऑपरेटिंग सिस्टम रैम के कॉन्टेंट को हार्ड डिस्क में स्वैप कर सकता है. इससे कार्रवाई की स्पीड काफ़ी कम हो सकती है. अगर आपको स्नैपशॉट लोड करने या सेव करने में बहुत ज़्यादा समय लगता है, तो रैम खाली करके इन कार्रवाइयों को तेज़ किया जा सकता है. उन ऐप्लिकेशन को बंद करना एक अच्छा तरीका है जो आपके काम के लिए ज़रूरी नहीं हैं. इससे रैम में जगह खाली हो जाती है.