Разница между iPhone Simulator и Android Emulator - PullRequest
48 голосов
/ 28 декабря 2010

В чем разница между iPhone Simulator и эмулятором Android? Я слышал, как люди говорили, что эмулятор действительно эмулирует целевое устройство, что не так в случае симулятора.

Я думаю, что эмулятор Android имитирует скорость обработки целевого устройства, использование памяти, но симулятор не эмулирует устройство.

Ответы [ 2 ]

62 голосов
/ 28 декабря 2010

Отказ от ответственности: Я всего лишь разработчик для iPhone, а не разработчик для Android.

Вы правы, разница между эмуляторами и симуляторами заключается в том, что эмуляторы имитируют программную среду и , обнаруженную на реальных устройствах. С другой стороны, симуляторы только имитируют программную среду; в противном случае они имеют доступ ко всем аппаратным ресурсам хост-системы, таким как дисковое пространство, память и скорость процессора.

Apple всегда осознает важность тестирования устройств, поскольку iPhone Simulator не эмулирует процессор iPhone, дисковод, ограничения памяти и так далее. Вы вряд ли когда-либо получите предупреждения о памяти, если ваш Mac не изо всех сил пытается управлять ресурсами самостоятельно, если вы не имитируете (снова) предупреждения памяти из пункта меню Симулятора.

Фактически, если вы зайдете в Настройки> Общие> О , вы увидите, что емкость симулятора соответствует файловой системе Mac, на которой он установлен:

19 голосов
/ 28 декабря 2010

Хотя эмулятор Android эмулирует процессоры ARM и определенное оборудование, он все равно не справляется с работой процессора.

Будучи эмулятором, он может хорошо соответствовать потреблению памяти, но может эмулировать некоторыеустройства хорошо, но отказывает, когда устройства усложняются, например, мобильные GPU и HW медиа-декодеры.А поскольку логика эмуляции работает над переводом каждой инструкции ARM в инструкцию X86 и выполнением ее скачка производительности, а дизайн не точен в цикле.

Поскольку модель программирования является Java, этот дизайн ничего не покупает разработчику приложений, так какпроизводительность на эмуляторе не отражает производительность на устройстве (из-за скорости эмуляции и из-за отсутствия HW-устройств) и чаще всего является неудобством, поскольку циклы отладки медленные.Единственным преимуществом является то, что приложение соответствует работе эмулятора на устройствах (без перекомпиляции).

В модели имитатора iPhone компания Apple поняла, что они не будут идеально соответствовать устройству, поэтому они даже не пытаютсяreturn предоставляет разработчикам быстрое время цикла и расширенную поддержку инструментов для эффективной разработки приложений.

...