Подтвердить что ты не робот

Android Studio 2.0: Почему Instant Run не работает при изменении ресурсов макета xml?

Это очень новая функция, поскольку Android Studio 2.0 доступен только в канале релиза канала, однако я надеялся, что кто-то сможет объяснить, как работает Instant Instant.

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

Однако, если я изменить существующие ресурсы xml-ресурсов макета, тогда он должен перекомпилировать сборку и развернуть ее. Поэтому мои вопросы:

  • Зачем нужно перестраивать при изменении существующих ресурсов XML-макета?
  • Есть ли планы на будущее, чтобы разрешить "горячую" замену XML-ресурсов, чтобы мне не приходилось перестраивать каждый раз, когда я хочу увидеть изменение в макете? (Хотя, я знаю, что могу просто просматривать изменения в представлении "Дизайн" ).

Вопрос №1 более важен для меня на данный момент, потому что я хотел бы понять, как все это работает. Также поздравляем команду Android Studio. IDE прошла долгий путь. Улучшения производительности изменяются в реальном времени.

4b9b3361

Ответ 1

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

Как вы знаете, все ресурсы, используемые в вашем XML файле, преобразуются в статические поля в R-классе. Согласно информации, полученной из http://tools.android.com/tech-docs/instant-run, изменение статических полей не поддерживается мгновенным запуском.

Ответ 2

Просто немного намекнуть. Когда я переключился с Android Studio 1.5 на 2.0 (стабильный), новый Instant Run не работал с изменениями макета. Я пробовал Run > Clean and rerun app, и я решил, что с этого момента работает Instant Run.

Ответ 3

Update:

Google запускает бета-версию Android Studio 2.0 с Cold Swap, улучшением индексирования приложений и поддержкой multi-touch.