[Android] एंड्रॉइड एमुलेटर इतना धीमा क्यों है? हम एंड्रॉइड एमुलेटर को कैसे बढ़ा सकते हैं?



Answers

महत्वपूर्ण नोट : कृपया सुनिश्चित करें कि आपका सीपीयू इंटेल वीटी का समर्थन करता है, कृपया पहले VT के बारे में इंटेल सूची देखें।

HAXM धीमे एंड्रॉइड एमुलेटर को गति देता है

HAXM का अर्थ है - "इंटेल हार्डवेयर त्वरित निष्पादन प्रबंधक"

वर्तमान में यह केवल इंटेल® वीटी (इंटेल वर्चुअलाइजेशन टेक्नोलॉजी) का समर्थन करता है।

एंड्रॉइड एमुलेटर QEMU पर आधारित है। होस्ट सिस्टम पर QEMU और HAXM ड्राइवर के बीच इंटरफ़ेस विक्रेता-अज्ञेयवादी बनने के लिए डिज़ाइन किया गया है।

HAXM के लिए अपने एंड्रॉइड डेवलपमेंट एनवायरनमेंट को कॉन्फ़िगर करने के लिए चरण

  1. ग्रहण अद्यतन करें: सुनिश्चित करें कि आपकी ग्रहण स्थापना और एडीटी प्लग-इन पूरी तरह से अद्यतित हैं।

  2. अपने एंड्रॉइड टूल्स अपडेट करें: प्रत्येक ग्रहण प्लग-इन अपडेट के बाद, अपने एंड्रॉइड एसडीके टूल्स को अपडेट करना महत्वपूर्ण है। ऐसा करने के लिए, एंड्रॉइड एसडीके प्रबंधक लॉन्च करें और सभी एंड्रॉइड एसडीके घटकों को अपडेट करें। HAXM का लाभ उठाने के लिए, आपको कम से कम रिलीज़ संस्करण 17 पर होना चाहिए।

  • X86 एटम सिस्टम छवियां और इंटेल हार्डवेयर त्वरित निष्पादन प्रबंधक ड्राइवर डाउनलोड करें । नीचे दी गई छवि का पालन करें:

  • "IntelHaxm.exe" चलाकर HAXM ड्राइवर स्थापित करें। यह निम्नलिखित स्थानों में से एक में स्थित होगा:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    यदि इंस्टॉलर उस संदेश के साथ विफल रहता है जो इंटेल वीटी चालू होना चाहिए, तो आपको इसे BIOS में सक्षम करने की आवश्यकता है। इंटेल वीटी (वर्चुअलाइजेशन टेक्नोलॉजी) को सक्षम करने में इसे कैसे करें इसके विवरण देखें।

  • एक नया x86 एवीडी बनाएं: नीचे दी गई छवि का पालन करें:

  • या नए एसडीके के लिए,
Question

मुझे 2.67 गीगाहर्ट्ज सेलेरॉन प्रोसेसर मिला है, और एक एक्स 86 विंडोज एक्सपी प्रोफेशनल मशीन पर 1.21 जीबी रैम है।

मेरी समझ यह है कि एंड्रॉइड एमुलेटर को ऐसी मशीन पर काफी जल्दी शुरू करना चाहिए, लेकिन मेरे लिए, यह नहीं है। मैंने आईडीई, एसडीके, जेडीके और इस तरह की स्थापना में सभी निर्देशों का पालन किया है और एम्यूलेटर को जल्दी शुरू करने में कुछ सफलता मिली है, लेकिन यह बहुत दुर्लभ है। यदि संभव हो तो मैं इस समस्या को कैसे ठीक कर सकता हूं?

यहां तक ​​कि अगर यह होम स्क्रीन शुरू होता है और लोड करता है, तो यह बहुत आलसी है। मैंने संस्करण 3.5 (गैलीलियो) और 3.4 (गैनीमेड) में एक्लिप्स आईडीई की कोशिश की है।




निष्क्रिय होने पर एमुलेटर खुद को धीमा कर देता है। यह पक्ष की चाबियों पर तेजी से मजाक करके और प्रकाश-प्रतिक्रिया प्रतिक्रियाओं को देखकर स्पष्ट किया जाता है। एक कामकाज के रूप में, मैं एमुलेटर शुरू करते समय QEMU को -icount auto से पास करता -icount auto । आप मेरे लिए यह करने के लिए my_avd.bat नामक एक बैच फ़ाइल बना सकते हैं:

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd - 'my_avd' नामक वर्चुअल डिवाइस लॉन्च करें
  • -no-boot-anim - तेज बूट के लिए एनीमेशन अक्षम करें
  • -qemu args... तर्क -qemu args... - qemu के लिए तर्क पास
  • -icount [N|auto] - प्रति निर्देश 2 ^ एन घड़ी टिक के साथ आभासी निर्देश काउंटर सक्षम करें

इसने एनिमेशन को बटररी चिकनी बना दिया और adb install दस गुना adb install




I noticed that the my emulator ( Eclipse plugin) was significantly slowed by my Nvidia graphics card anti-aliasing settings. Removing 2x anti aliasing from the graphics menu and changing it to application controlled made it more responsive. It is still slow, but better than it used to be.




इस पर और जानकारी जोड़ने के लिए।

मैंने हाल ही में अपनी उबंटू स्थापना को Ubuntu 10.04 एलटीएस (ल्यूसिड लिंक्स) में अपग्रेड कर दिया है, जिसने बदले में मेरे जावा संस्करण को अपडेट किया:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

और अब एमुलेटर (हालांकि शुरू करने में कुछ समय लगता है) पहले से तेज चल रहा है।

यह उनके जेवीएम को अपग्रेड करने वाले लोगों के लायक हो सकता है।




पुराने एंड्रॉइड संस्करण बहुत तेजी से चलते हैं। जब मैं अपनी नेटबुक पर हूं, तो मैं एंड्रॉइड 1.5 (एपीआई लेवल 3) का उपयोग करता हूं। कुछ कमियां हैं, हालांकि - आपके ऐप्स को पुराने प्लेटफ़ॉर्म (स्पष्ट रूप से) का समर्थन करने की आवश्यकता है, और ndk-gdb को Android 2.2 (API स्तर 8) या उच्चतम चलाने की आवश्यकता है। लेकिन नियमित रूप से पुराने प्लेटफॉर्म के खिलाफ ऐप्स का परीक्षण करना एक अच्छा विचार है।




अनुकरणक धीमे हैं। वास्तव में आप इसके बारे में कुछ भी नहीं कर सकते हैं, लेकिन एम्यूलेटर के विकल्प हैं।

  1. Genymotion

  2. VirtualBox

  3. BlueStacks

  4. YouWave

  5. विंडोज एंड्रॉइड एमुलेटर

  6. बीन्स के जार

  7. Andy

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




अद्यतन: एंड्रॉइड स्टूडियो (2.x) के नवीनतम संस्करण ने बंडल एमुलेटर में बड़े सुधार किए। यह उत्तरदायी है और सुविधाओं का एक पूरा समूह है।

अभी भी रुचि रखने वालों के लिए: Genymotion का उपयोग करने का प्रयास करें। पंजीकरण के बाद आप विंडोज / मैक ओएस एक्स / लिनक्स के लिए एक संस्करण डाउनलोड कर सकते हैं। ग्रहण के लिए एक प्लगइन भी उपलब्ध है:

प्लगइन की स्थापना ग्रहण लॉन्च करके और "नया सॉफ्टवेयर स्थापित / स्थापित करने" मेनू पर जाकर किया जा सकता है, फिर निम्न यूआरएल के साथ एक नई अपडेट साइट जोड़ें: http://plugins.genymotion.com/eclipse । ग्रहण द्वारा संकेतित चरणों का पालन करें।

यह एमुलेटर तेज़ और उत्तरदायी है।

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




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

Google I / O 2011 वीडियो देखें : एंड्रॉइड डेवलपमेंट टूल्स इसे क्रिया में देखने के लिए - लगभग 44 मिनट तक कूदें।




एंड्रॉइड एमुलेटर रिलीज 9 में एक नया "स्नैपशॉट" सुविधा है। आप एमुलेटर की स्थिति को बचा सकते हैं ( एमुलेटर की एक छवि बनाएं) और जब आप एमुलेटर शुरू करते हैं तो बूटिंग से बचें।




यहां मैंने देखा है कि किसी ने इसका उल्लेख नहीं किया है।

सभी उपलब्ध प्रोसेसर को एमुलेटर को सौंपें

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

मैं विंडोज 7 का उपयोग कर रहा हूँ।

जब एंड्रॉइड एमुलेटर शुरू हो रहा है, तो टास्क मैनेजर खोलें, प्रक्रिया टैब के नीचे देखें, "emulator-arm.exe" या "emulator-arm.exe * 32" देखें ... राइट क्लिक करें, प्रोसेसर एफ़िनिटी का चयन करें और आप एमुलेटर के रूप में ज्यादा प्रोसेसर असाइन करें।




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




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




आप एमुलेटर शुरू करने के लिए निम्नलिखित कमांड के साथ emulator.bat बना सकते हैं। यह तेजी से शुरू हो जाएगा।

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

या यूनिक्स (मैक या लिनक्स स्वाद) पर:

emulator -cpu-delay 0 -no-boot-anim @<avd name>



I had intermittent slow emulator (SDK v8.0) load times, up to three minutes on Intel Core i7 920 2.67 GHz CPU running on Xubuntu 10.04 VirtualBox 3.2.12 guest with Eclipse (3.6.1) loaded. I changed the VirtualBox guest memory from 1024 MB to 2048 MB and from that point on, I never experienced the slowness again (load times consistent at 33 seconds, CPU load consistent at 20%). Both Eclipse and the emulator are memory hogs.




अपने एंटीवायरस को अक्षम करने का प्रयास करें। शायद यह एमुलेटर थोड़ा तेज कर देगा।






Links