2010-12-28 15 views
42

के बीच अंतर आईफोन सिम्युलेटर और एंड्रॉइड एमुलेटर के बीच क्या अंतर है? मैंने लोगों को यह कहते हुए सुना है कि एमुलेटर वास्तव में लक्षित डिवाइस को अनुकरण करता है जो सिम्युलेटर के मामले में सत्य नहीं है।आईफोन सिम्युलेटर और एंड्रॉइड एमुलेटर

मुझे लगता है कि एंड्रॉइड एमुलेटर लक्ष्य डिवाइस की प्रोसेसिंग गति, स्मृति उपयोग की नकल करता है, लेकिन एक सिम्युलेटर डिवाइस का अनुकरण नहीं करता है।

+3

हाँ, एंड्रॉइड एमुलेटर के बारे में यह सच है। मैं आईफोन या इसके सिम्युलेटर के बारे में कुछ भी नहीं करता। – Mudassir

+0

बस आपको अनुमान लगाने के लिए - आज के पीसी (कोर 2 डुओ @ 2.9 गीगाहर्ट्ज, 3 जीबी रैम) पर आप उम्मीद कर सकते हैं कि एंड्रॉइड एमुलेटर पहले पीढ़ी के उपकरणों (एचटीसी ड्रीम, हीरो, सैमसंग स्पािका) से थोड़ा धीमा काम करेगा – tomash

+0

सारांश में - एक हार्डवेयर को emulates, दूसरे सिर्फ सॉफ्टवेयर emulates :) – controlbox

उत्तर

55

अस्वीकरण: मैं केवल एक आईफोन डेवलपर हूं, एंड्रॉइड डेवलपर नहीं।

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

ऐप्पल हमेशा डिवाइस परीक्षण के महत्व पर जोर देता है क्योंकि आईफोन सिम्युलेटर एक आईफोन प्रोसेसर, डिस्क ड्राइव, मेमोरी बाधाओं और व्हाट्नॉट का अनुकरण नहीं करता है। जब तक आप सिम्युलेटर के मेनू आइटम से स्मृति चेतावनियों को अनुकरण नहीं करते हैं, तब तक आप कभी भी स्मृति चेतावनियां प्राप्त नहीं करते हैं जब तक कि आपका मैक संसाधनों का प्रबंधन करने के लिए संघर्ष नहीं कर रहा हो।

वास्तव में, यदि आप के लिए सेटिंग> सामान्य> बारे में जाना, आप देखेंगे कि सिम्युलेटर के डिस्क क्षमता यह पर स्थापित की मैक फाइल सिस्टम के रूप में ही है:

17

हालांकि एंड्रॉइड एमुलेटर एआरएम प्रोसेसर और कुछ हार्डवेयर को अनुकरण करता है, फिर भी यह सीपीयू प्रदर्शन से मेल खाने का अच्छा काम नहीं करता है।

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

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

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

संबंधित मुद्दे