Поиск…


замечания

Instant Run - это расширенное поведение для команд запуска и отладки, которые позволяют быстрее отлаживать, не требуя полной сборки и переустановки для изменения eevry, выполненного в коде вашего приложения.

Представленный в Android Studio 2.0, Instant Run - это поведение команд Run и Debug, которые значительно сокращают время между обновлениями вашего приложения. Хотя ваша первая сборка может занять больше времени, Instant Run подталкивает последующие обновления к вашему приложению без создания нового APK, поэтому изменения видны намного быстрее.

Instant Run поддерживается только при развертывании варианта сборки отладки, используйте Android Plugin для Gradle версии 2.0.0 или выше и установите minSdkVersion на 15 или выше в файле build.gradle на уровне модуля вашего приложения. Для достижения максимальной производительности установите minSdkVersion на 21 или выше.

После развертывания приложения в кнопке «Запуск» (или кнопку «Отладка») появляется маленькая желтая кнопка «Громовой удар», указывающая, что «Мгновенный запуск» готов нажать обновления при следующем нажатии кнопки. Вместо создания нового APK он подталкивает только эти новые изменения, и в некоторых случаях приложение даже не нужно перезапускать, но сразу же показывает эффект этих изменений кода.

Instant Run подталкивает обновленный код и ресурсы к подключенному устройству или эмулятору, выполняя «горячую» замену, «теплую» или «холодную» замену. Он автоматически определяет тип свопа для выполнения в зависимости от типа изменения, которое вы сделали. Видео выше содержит интересную информацию о том, как все это работает под капотом. Однако для краткого описания того, как работает Instant Run, когда вы нажимаете определенные изменения кода на целевое устройство, обратитесь к следующей таблице.

Документация

Включение или отключение Instant Run

  1. Откройте диалоговое окно «Настройки» или «Настройки»:
    • В Windows или Linux выберите « File > « Settings в главном меню.
    • В Mac OSX выберите « Android Studio > « Preferences в главном меню.
  2. Перейдите к Build, Execution, Deployment > Compiler .
  3. В текстовом поле рядом с параметрами командной строки введите параметры командной строки.
  4. Нажмите «ОК», чтобы сохранить и выйти.

введите описание изображения здесь

Верхний вариант - мгновенный запуск. Установите / снимите этот флажок.

Документация

Типы кода свопы в мгновенном запуске

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

  • Горячая замена
  • Теплый обмен
  • Холодная замена

Когда срабатывает каждый из этих свопов?

HOT SWAP запускается при изменении существующего метода.

WARM SWAP запускается, когда существующий ресурс изменяется или удаляется (что-либо в папке res)

COLD SWAP при изменении структурного кода в коде приложения, например

  1. Добавить, удалить или изменить:
  • аннотация
  • поле экземпляра
  • статическое поле
  • подпись статического метода
  • подпись метода экземпляра
  1. Измените, какой родительский класс наследует текущий класс
  2. Измените список реализованных интерфейсов
  3. Изменение статического инициализатора класса
  4. Переупорядочить элементы макета, использующие динамические идентификаторы ресурсов

Что происходит, когда происходит обмен кода?

Изменения HOT SWAP видны мгновенно - как только будет сделан следующий вызов метода, реализация которого изменена.

WARM SWAP перезапускает текущую деятельность

COLD SWAP перезапускает все приложение (без переустановки)

Неподдерживаемый код изменяется при использовании Instant Run

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

  1. Измените манифест приложения
  2. Изменение ресурсов, на которые ссылается манифест приложения
  3. Изменение элемента пользовательского интерфейса виджета Android (требуется очистка и повтор)

Документация



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow