что такое Android Studio Instant Run?

сегодня я обновил свою Android studio и запустить приложение, которое существует с предыдущей версией.Когда я запускал приложение с предыдущей версией, приложение запускалось очень быстро, но когда я обновил Android studio и запустил то же приложение с обновленной версией, приложение занимало слишком много времени для запуска.Я искал проблему и обнаружил, что если instant run включен, то отключите это, чтобы я сделал то же самое и приложение было запущено так быстро, как это было.

теперь мой вопрос это-

  1. Что такое мгновенный запуск?Каковы pron и минусы его использования?
  2. почему приложение занимает слишком много времени для запуска, когда мгновенный запуск был включен, и когда я отключил его, то почему он запустил приложение быстро, как это было.

4 ответов


Instant run поставляется с последней версией Android Studio. Но в некоторых случаях он подключен при использовании этого.

Что такое мгновенный запуск?

в обычной сборке и запустить весь файл APK обновляется и нажимается на устройство. Но при использовании instant run в устройстве заменяется только обновленная часть. Instant Run толкает обновленный код и ресурсы на подключенное устройство или эмулятор, выполнив горячей замены, "теплой" замены, или холодная своп. Он автоматически определяет тип свопа для выполнения на основе типа внесенных изменений.

плюсы

Это может быть быстрее, чем обычное строительство. Но это требует, чтобы приложение было запущено во время сборки ниже API 21.

минусы

серьезно я почувствовал проблему неизменной установки. То есть при использовании instant run в некоторых случаях приложение, похоже, не обновляется. Он остается на прежнем месте. строить. И иногда мне казалось, что он медленнее обычного.

горячая замена:

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

"Теплой" Замены:

этот СВОП по-прежнему очень быстрый, но Instant Run должен перезапустить текущую активность, когда он толкает измененные ресурсы на ваш приложение.

холодная замена (уровень API 21 или выше):

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

отключение мгновенного запуска: File= > Settings=>Build, выполнение и развертывание=>мгновенный запуск= > снимите флажок Включить мгновенный запуск для горячей замены

Enter image description here

посмотреть этой документация.


мгновенный запуск:

это функция в Android Studio, которая использует magic для значительного сокращения времени сборки и развертывания инкрементных изменений кода во время жизненного цикла кодирования/тестирования/отладки.

Это нормально и является частью Instant Run особенность. Теоретически последующие нагрузки должны быть быстрее.

вы должны попробовать повторно включить его и наблюдать за последующими запусками, вы увидите результаты.


Instant Run = инкрементная сборка + горячая, теплая или холодная замена

без мгновенного запуска :

enter image description here

С мгновенного запуска :

enter image description here

источник: https://medium.com/google-developers/instant-run-how-does-it-work-294a1633367f


Instant Run позволяет нажимать изменения кода без создания нового APK.