Эмулятор Android и другие виртуальные машины Android (такие как Geny Motion, BlueStack ...) быстрее в Ubuntu (Linux), чем Windows? Они довольно тяжелые в моей Windows, и я не знаю, стоит ли мне устанавливать ОС на базе Linux для разработки приложений для Android. Благодарю.
1 ответ
Не уверен насчет Bluestacks, но эмулятор Android обычно работает медленно не потому, что он виртуализирует Android, а потому, что он эмулирует процессор ARM. Когда вы эмулируете весь ЦП (с архитектурой, отличной от хост-машины), на самом деле не имеет значения, какая ОС хоста; производительность просто сосет.
Что-то вроде Bluestacks может теоретически воспользоваться сходством между настольным Linux и Android, чтобы работать немного быстрее, но даже в этом случае повышение производительности не будет таким уж большим. Я не знаю, существуют ли какие-либо среды выполнения Android (в отличие от эмуляторов) для настольного Linux. Это было бы круто, хотя, если правильно поставить в песочницу.
Если вам нужен довольно быстрый Android-эмулятор в Windows, я рекомендую использовать Hyper-V от всех (от всех) Microsoft. Требуется ОС, поддерживающая Hyper-V (Win8 или более поздняя, с процессором, поддерживающим SLAT), но сам инструмент бесплатный. Поскольку он использует гипервизор, а не полную эмуляцию, он быстрый ... но он работает под управлением версии x86 Android, а не ARM, поэтому, если вы хотите протестировать приложение, использующее собственный код, вам нужно скомпилировать его для x86, а не для ARM (вы можете перекомпилировать ARM, чтобы положить его в магазин). Код Dalvik (Java) не должен иметь проблем, на самом деле он, скорее всего, будет работать быстрее на вашем компьютере разработчика, чем на телефоне (просто потому, что процессоры для настольных ПК зачастую намного мощнее, чем процессоры для телефонов). Этот инструмент входит в состав Visual Studio 2015, включая бесплатную версию Community, которая включает в себя инструменты для разработчиков Android, но вы также можете получить ее отдельно. Смотрите этот блог для получения дополнительной информации.