मैं अपने एमुलेटर लोड को तेजी से कैसे कर सकता हूं?


10

मैंने आज रात एंड्रॉइड ऐप विकसित करने के लिए उपकरणों के साथ ग्रहण स्थापित किया; इसलिए मैं उन दोनों के लिए नया हूं। वैसे भी, मेरे एमुलेटर को हर बार लोड करने में लगभग 5 या अधिक मिनट लगते हैं, और आम तौर पर त्रुटियों के साथ आता है। और यह हमेशा बहुत बड़ा होता है, जैसे कि मेरा लैपटॉप स्क्रीन जितना लंबा है, और लगभग आधा चौड़ा है .. कोई मदद?


1
यह एक विकास प्रश्न के रूप में एसओ पर नहीं होना चाहिए?
नवागंतुक

2
चूंकि सवाल एमुलेटर के बारे में है, इसलिए यह विषय के प्रति झुकाव पर है।
डेनियल

@ डैनियल: यह निश्चित रूप से एक डेवलपर प्रश्न है, और यहाँ नहीं है, लेकिन StackOverflow.com पर
जोनास

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

आप वास्तव में काफी अच्छा तर्क दे सकते हैं कि यह सिर्फ एक पीसी सॉफ्टवेयर / हार्डवेयर मुद्दा है और SuperUser पर है ...
GAThrawn

जवाबों:


9

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

हाँ, एमुलेटर बूटिंग में अभी भी 5 मिनट लगते हैं, लेकिन यह बुरा नहीं है क्योंकि आप दिन में केवल एक बार एमुलेटर को बूट करते हैं (और दिन की शुरुआत में एक्लिप्स को बूट करना वैसे भी उतना ही समय लेता है)।


धन्यवाद, मैंने सोचा भी नहीं था; लेकिन यह समझ में आता है।
जेम्स लिट्वस्की

मैं Android देव और ग्रहण के लिए एक और नौसिखिया हूँ .. जब आप कहते हैं "यदि ग्रहण में डिबग / रन बटन ठीक से सेट किया गया है ..." आपका क्या मतलब है? मुझे संदेह है कि मेरा सेटअप 'ठीक से' नहीं है क्योंकि यह एमुलेटर को हर बार रिबूट करता है। धन्यवाद
के लिए

मेरे फॉलो-अप प्रश्न का उत्तर यहां मिला: stackoverflow.com/questions/506777/… किसी और के लिए निशान छोड़ना जो कि आश्चर्यचकित कर सकता है।
लिए

8

झूठ रयान एक अच्छा बिंदु बनाता है कि एक बार जब आप एमुलेटर शुरू करते हैं तो आपको इसे बंद करने की आवश्यकता नहीं होती है जब आप बिल्ड का परीक्षण कर रहे होते हैं। इसे खुला छोड़ दें और हर बार जब आप अपना ऐप चलाएंगे या डिबग करेंगे तो यह अपने आप फिर से लोड हो जाएगा और लॉन्च हो जाएगा।

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

एसडीके और एवीडी मैनेजर

उम्मीद है की यह मदद करेगा


इसलिए, मुझे लगता है कि मुझे केवल इतना करना है कि इसे वहां से खोलना है, और फिर लोड होने के बाद प्रोग्राम चलाने के लिए क्लिक करें?
1942 को जेम्स लिट्वस्की

@ नाम यह इस बात पर निर्भर करता है कि आपकी परियोजना "रन कॉन्फ़िगरेशन" / "डिबग कॉन्फ़िगरेशन" कैसी है। यदि वे मैन्युअल रूप से सेट हैं, तो आपको वर्तमान में चल रहे डिवाइस या एमुलेटर का चयन करने या नया लॉन्च करने के लिए प्रेरित किया जाएगा। यदि इसका मैनुअल नहीं है, तो आपको एमुलेटर सेट करना होगा जो आप डिफ़ॉल्ट के रूप में चला रहे हैं ताकि यह वहां प्रोग्राम को स्थापित / चलाए।
डेनियल

क्यों होता है पतन?
डैनियल

5

मुझे लगता है कि एमुलेटर को तेज करने के लिए कुछ नहीं करना है, यह वास्तव में धीमा है।

यदि संभव हो तो आप परीक्षणों के लिए एक वास्तविक उपकरण का बेहतर उपयोग करेंगे।


ठीक है, एक असली डिवाइस अभी मेरे बजट के पास नहीं है .. क्या आप कम से कम जानते हैं कि इमू को कैसे छोटा किया जाए? तो यह एक नियमित उपकरणों के आकार जैसा है?
जेम्स लिट्वस्की

"एंड्रॉइड" कमांड (एसडीके / टूल में) लॉन्च करें। "एंड्रॉइड एसडीके और एवीडी प्रबंधक" संवाद में, एक नई मशीन बनाने के लिए एक "नया ..." बटन है। "नया एंड्रॉइड वर्चुअल डिवाइस बनाएं" नामक एक संवाद प्रकट होता है। इसके "स्किन" सेक्शन में आप अपने इच्छित रिज़ॉल्यूशन को निर्दिष्ट कर सकते हैं।
निकोलस राउल

3

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

ऐसा करने के लिए, एमुलेटर लॉन्च करें और Ctrl+Shift+Escटास्क मैनेजर खोलने के लिए दबाएं । Processesटैब पर जाएं और राइट-क्लिक करेंemulator.exe प्रक्रिया को , Set Affinityअतिरिक्त कोर चुनें और चुनें। ध्यान दें कि आपको एमुलेटर लॉन्च करने के लिए हर बार ऐसा करना होगा।

मैंने अपनी पुरानी देव मशीन (Q9650, Win2008, 8GB DDR2 800MHz RAM) पर ऐसा किया और इसने गति में थोड़ा सुधार किया, लेकिन औसतन दिन में एक बार दुर्घटनाग्रस्त हो गया।


3

यहां अन्य महान उत्तरों के अलावा, यह एक स्पष्ट उत्तर की तरह है।

किसी भी तरह, मुझे लगा कि मैं इसे यहां सूची में जोड़ दूंगा। यदि आप विकास कंप्यूटर पर हार्डवेयर स्पेक्स बढ़ाते हैं, तो यह (विशेष रूप से रैम या हार्ड डिस्क स्पिंडल स्पीड) पर चल रहा है, तो आप उस गति में वृद्धि देखेंगे जिस पर एमुलेटर शुरू होता है और चलता है।

मेरे विकास कंप्यूटर में 2GB का DDR2667 था और जब मैं 4GB के DDR800 में गया तो मैंने एमुलेटर स्टार्टअप और संचालन की गति में एक उल्लेखनीय वृद्धि की।


विकास का पिटारा?
जेम्स लिट्वस्की

डेवलपमेंट बॉक्स = विशेष रूप से सॉफ़्टवेयर विकास के लिए उपयोग किया जाने वाला कंप्यूटर खरीदा या बनाया गया। इसका मतलब यह नहीं है कि इसका इस्तेमाल किसी और चीज के लिए नहीं किया जा सकता है लेकिन विकास इसका उद्देश्य है।
डैनियल

उफ़। हाँ, मैं geek-speek उस एक में मिलता है। संपादित!
Mat Nadrofsky

3

एमुलेटर में एक फीचर बिल्ड है, जिसका नाम स्नैपशॉट है। जब आप इसे बंद करते हैं, तो स्नैपशॉट मूल रूप से एमुलेटर (वर्तमान स्थिति में) की एक छवि बचाता है। फिर अगली बार, आप इसे उसी जगह से शुरू कर सकते हैं। एमुलेटर लगभग तुरंत शुरू हो जाएगा, क्योंकि इसे बूट प्रक्रिया से गुजरने की आवश्यकता नहीं है। स्नैपशॉट का उपयोग करते हुए, मैं लगातार 5 सेकंड से भी कम समय में अपने एमुलेटर को शुरू कर सकता हूं (जैसा कि इसे शुरू करने के लिए 60 - 90 सेकंड के विपरीत)।

मूल रूप से, जब आप AVD बनाते हैं (अपनी एमुलेटर इमेज बनाते हैं) - एक खंड होता है जिसका शीर्षक है: "स्नैपशॉट"। सुनिश्चित करें कि यह जाँच की गई है ("सक्षम")। यदि आप इसे पहली बार चूक गए हैं तो इसे सक्षम करने के लिए आप वापस जा सकते हैं और एक AVD को संपादित कर सकते हैं।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.