आम तौर पर, एमुलेटर CPU और GPU कार्यों में किसी डिवाइस की तुलना में बहुत धीमी है। यही कारण है कि कम से कम दो कारणों के लिए है:
- एमुलेटर चल रहा है एआरएम opcodes, उन्हें बराबर 86 निर्देश है, जो धीमी है में परिवर्तित करने
- डिवाइस (आमतौर पर), ग्राफिक्स त्वरक है, जबकि नकल करते वातावरण नहीं है, जो कुछ के बावजूद आपके पास एमुलेटर
चीजों को परिप्रेक्ष्य में रखने के लिए, मेरे इंटेल क्वाड-कोर 2.66GHz पर एक अच्छा ग्राफिक्स कार्ड के साथ मेरा एंड्रॉइड काम करता है। उन उपकरणों के लिए जो डिवाइस पर ठीक काम करते हैं, मैं कभी-कभी उन्हें एमुलेटर में वापस खेलने के लिए प्राप्त कर सकता हूं।
एमुलेटर एक डिवाइस से तेज़ है, हालांकि, "डिस्क" I/O पर। जब आप एमुलेटर पर "फ्लैश" लिखते हैं, तो आप एक डिस्क छवि फ़ाइल पर लिख रहे हैं जो शायद एक नियमित हार्ड ड्राइव पर रहता है, मानते हुए कि आप एक एसएसडी का उपयोग नहीं कर रहे हैं। वास्तव में एक डिवाइस पर फ्लैश करने के लिए लिखना बड़े पैमाने पर धीमा हो सकता है - पिछले सप्ताह के Google I | O 2010 सम्मेलन में ब्रैड फिट्जपैट्रिक ने फ़्लैश करने के लिए एक बाइट लिखने के लिए 200ms तक की स्पाइक्स का हवाला दिया। और, फ्लैश भरने के रूप में एंड्रॉइड, फ्लैश, और yaffs2 फाइल सिस्टम का संयोजन स्पष्ट रूप से फ्लैश I/O पर धीरे-धीरे धीमे होने का कारण बनता है। इसलिए, उनकी सिफारिश करना था फ्लैश मुख्य अनुप्रयोग थ्रेड के बजाय पृष्ठभूमि थ्रेड में लिखता है, जहां यह यूआई को जोड़ सकता है और "जंकी" ऐप का नेतृत्व कर सकता है।
(जाहिरा तौर पर, "janky" एक तकनीकी शब्द
Btw, जब यह ऑनलाइन दिखाता है, निश्चित रूप से यूट्यूब पर ब्राड की प्रस्तुति देखने के है ... :-)। कभी-कभी इसका पालन करना मुश्किल हो सकता है, क्योंकि उसने बहुत जल्दी बात की थी, लेकिन यह प्रदर्शन से संबंधित उपयोगी टिड्बिट से भरा था।
धन्यवाद, यह उपयोगी जानकारी है। एक ही मुद्दे पर, क्या एम्यूलेटर एक ही वीएम का उपयोग डिवाइस के रूप में करता है? विशेष रूप से, क्या मुझे समान जीसी गतिविधि की उम्मीद करनी चाहिए? – uj2
यदि "वीएम" से आपका मतलब जावा में लिखे गए ऐप्स चलाने के लिए Dalvik VM है, तो हाँ। जीसी गतिविधि के संदर्भ में, संभावित अंतर का एकमात्र स्रोत अनुप्रयोग ढेर अधिकतम आकार में है। पुराने उपकरण, और मुझे लगता है कि एमुलेटर, आपको 16 एमबी ढेर तक सीमित करता है। अधिक रैम और बड़ी स्क्रीन वाले नए डिवाइस 24 एमबी ढेर का समर्थन करते हैं। यह स्पष्ट नहीं है कि एमुलेटर में ऐप ढेर आकार को नियंत्रित करने का कोई तरीका है। आप संभवतः छोटे ढेर आकार पर अपना परीक्षण करना चाहते हैं, वैसे भी। – CommonsWare
मेरे पास एमुलेटर पर कोड के साथ रनटाइम समस्याएं हैं, एक टैबलेटिविटी ने एमुलेटर पर लोड करने के लिए 8-10 सेकेंड लगते हैं, वास्तविक डिवाइस पर 1-2 सेकंड लगते हैं, मुश्किल से दिखाई देते हैं। – Pentium10