Самая первая головная боль любого Android разработчика — это медленная работа стандартного эмулятора. Тестировать приложения на нем не очень удобно — эмулятор может не запускаться, тормозить и периодически зависать.

Эта проблема не новая, ее решают с момента появления андроида.

Если у вас та же проблема — вы узнаете как ее можно решать разными способами.

 

Расскажу как обстояли дела с эмулятором у меня, потому что у всех ситуации разные.

У кого-то эмулятор может заработать сразу, кому-то придется немного помучиться.

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

Но мне не нравилось то, что временами эмулятор зависал (приходилось просто сидеть и ждать) или вылетал (помогал перезапуск эмулятора).

Здесь нужно отметить, что ноутбук у меня был достаточно мощный на тот момет (с SSD дисками, 4 Гб RAM, последний процессор Core i7), но и этого не хватало для нормальной работы Android эмулятора.

***

Ниже предлагается список решений (я попробовал не все)

 

Cамый простой совет — купить мощный стационарный компьютер (не ноутбук), с 8 Гб ОЗУ, последним процессором, быстрыми жестким дисками и видеокартой помощнее.

Подходит для тех, у кого есть деньги и кто занимается программированием профессионально.

(В будущем планирую себе взять отдельную машину для программирования, а мелкими делами заниматься на ноутбуке)

 

Использовать готовые образы Android вместе с VirtualBox:

В основном все пользуются именно этим способом, т.к. он решает многие проблемы (эмулятор практически не виснет и не вылетает).

Вы скачиваете образ нужной версии Android, запускаете ее на виртуальной машине и подключаетесь к ней с помощью стандартного инструмента adb, чтобы можно было запускать приложения из eclipse.

 

Наиболее часто используемые образы:

1) http://www.android-x86.org/ — один из старых и знаменитых проектов, содержит все последнии актуальные версии операционной системы Android

В интернете много видеороликов и статей, как установить образ и разрабатывать под него.

 

2) http://www.genymotion.com/ - бывший проект AndroVM, который перешел в платную версию (бесплатной вполне хватает для разработки приложений).

Пользуюсь этим способом в данный момент, все работает шустро и довольно стабильно.

 

Видео по установке и запуску Genymotion:

[youtube]dvspC8ZbdvM[/youtube]

 

 

 

Если вы используете стандартный эмулятор:

 

 Использовать Snapshot (сохранение состояния)

Можно один раз запустить эмулятор и сохранить его в snapshot — специальный файл, с которого будет запускаться эмулятор в следующий раз.  Если в первый раз запускается долго — следуюшие запуски из сохраненного состояния будут производиться намного быстрее.

Нужно проставить соответствующие настройки для AVD:

 

 Использование Intel® Hardware Accelerated Execution Manager (HAXM)

Суть этого способа в том, чтобы скачать специальный образ от Intel, который эмулирует ОС Android на x86.

Все необходимое можно установить с помошью Android SDK Manager.

Здесь в двух частях описано что это такое и как установить:

1) http://www.developer.com/ws/android/development-tools/supercharge-your-android-emulator-speed-with-intel-emulation-technologies.html

2) http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html

Ссылка на официальный сайт: http://software.intel.com/ru-ru/articles/intel-hardware-accelerated-execution-manager

 

Использовать настройку Use GPU вместе с HAXM (работает начиная с версии Android 4.2)

Этот способ позволяет использовать ресурсы вашего компьютера для обработки графики в эмуляторе Android.

Вы сразу заметите разницу в скорости и качестве картинки с GPU и без него.

 

Нужно поставить одну галочку при запуске:

 

  Установить последние версии драйверов для вашего компьютера/ноутбука

Желательно всегда иметь последние версии драйверов, т.к. часто были проблемы именно из-за этого.

Например различные ошибки при проигрывании звуков в программах, полосы посередине экрана эмулятора.

 

 По возможности увеличить RAM

Сейчас, чтобы программировать профессионально, уже недостаточно машин с 4 Гб ОЗУ, нужно как минимум 8 Гб.

Поэтому, если есть возможность, добавьте оперативную память, работа эмулятора (особенно на базе VirtualBox) заметно ускорится.

 

Перед запуском эмулятора закрывать все лишние программы, чтобы освободить оперативную память

Если оперативной памяти мало — нужно закрыть все лишние приложения, оставить только среду разработки и эмулятор Android.

Я в последнее время всегда закрываю все лишнее и оставляют только инструменты для разработки.

Вы можете посмотреть, как быстро заканчивается свободная оперативная память после запуска эмулятора и eclispe (в Windows 7, в Диспетчере задач — Монитор ресурсов)

 

 Если работаете на ноутбуке — подключать его в сеть (не работать от батареи)

Обязательно включайте в сеть ноутбук, т.к. на батарее Adnroid эмулятор (да и сам ноутбук в целом) работает в сберегающем режиме.

Это приводит к частому зависанию эмулятора.

Если у вас есть на ноутбуке есть различные режимы — поставьте самый производительный (High Performance) (через  Пуск -> Выполнить (Run) -> powercfg.cpl, или просто нажать Win+R и команду powercfg.cpl)

 

Вот как это выглядит у меня:

 

Увеличить RAM для AVD, отключить SD карту

 

***

Здесь я перечислил не все способы, т.к. их намного больше.

Но уже этих хватает, чтобы улучшить жизнь Android программиста.

Лично я сейчас пользуюсь образом от genymotion.com, который я описывал выше, он меня вполне устраивает и по скорости и по стабильности.  Тем более этот проект сейчас довольно активно развивается.