Скорость сборки
По словам Stephanie Cuthbertson, одной из руководителей направления Android Studio, Google сейчас сосредоточен на стабильности и скорости работы своей среды разработки. Новая версия Android Studio собирает приложения в два — два с половиной раза быстрее чем предыдущая версия.
GPU profiler
В новой версии доступна preview версия профилировщика рендера средствами GPU. С помощью этого инструмента разработчики могут анализировать время рендеринга элементов в каждом кадре и находить «узкие места».
Новый эмулятор Android
Тормоза официального эмулятора уже стали притчей во языцах и привели к появлению альтернативных решений. Есть версия на базе VirtualBox, есть версия от Microsoft, поставляющаяся вместе с Visual Studio. Google несколько огорчал такой расклад, и вместе с новой версией Android Studio нам представлен новый эмулятор. Очень быстрый. С переработанным интерфейсом. Со всеми сервисами, камерой и GPS. А еще он может менять разрешение устройства при изменении размеров своего окна! Новая версия пока не доступна, но ее обещают показать разработчикам в ближайшее время.
Instant Run
Функция доступна и на эмуляторе, и на физическом устройстве, при условии что приложение собирается для версии Android «Ice Cream Sandwich» или старше. Stephanie Cuthbertson отказалась сообщить по какому принципу работает эта магия, но сказала что Google скоро опубликует техническую статью, в которой раскроет все детали. На данный момент функция работает далеко не для всех изменений (см. список в комментариях), но, надеюсь, через некоторое время мы получим инструмент не хуже тех, что есть в распоряжении разработчиков для web и react native.
Новую версию Android Studio можно скачать на официальном сайте. Также доступен анонс.
Комментарии (22)
voddan
24.11.2015 09:49«Instant run» традиционно для JVM называется «Hot Swap». Суть в том что из-за разбиения исполняемого кода в классы возможно подменить код функции\метода, не меняя данные в полях объектов. Это с давних пор делили JRebel, правда совсем не бесплатно zeroturnaround.com/software/jrebel. Жалко ребят, теперь они out of busyness, хотя рано или поздно это должно было случиться.
eyeofhell
24.11.2015 09:55Судя по моему опыту с React и webpack, кроме самой возможности подменять код еще нужно серьезно перелопатить Framework, чтобы, к примеру, при изменении кода для кнопки она могла себя перерисовать в новом облике и правильно переподключить все обработчики если что поменялось. Непростая задача.
gurinderu
24.11.2015 10:02+1В каком смысле они out of business? Главная их клиентура это кровавый энтерпраиз, а там у них конкурентов нету.
artemgapchenko
24.11.2015 10:06А почему «out of busyness»-то? В Java мире же не только Android-проекты пишут, там вообще много чего делается. И если «Instant Run» будет сделан только для Android Studio, без переноса в Intellij Idea CE, то у ZeroTurnaround ничего не изменится: как ходили к ним за JRebel, так и будут ходить. Или я чего-то недопонял?
eugenius_nsk
27.11.2015 14:26+1HotSwap — это стандартная технология в JVM для замены классов в debug-режиме, при этом есть существенное ограничение — у классов не должно меняться API, можно менять только имплементацию методов. JRebel же делает гораздо более крутую вещь — он позволяет менять классы в том числе и с изменением API классов. Т.е. классы можно изменять практически как угодно.
Instant Run как раз очень сильно напоминает по ограничениям HotSwap, и, как следствие JRebel отнюдь не out of business, т.к. их основное преимущество никуда не делось. Правда, я не уверен, возможны ли API changes с использованием JRebel for Android. Если нет — тогда да, JRebel fr Android ничем не отличается от Instant Run, и ребятам из ZeroTurnaround придётся напрячься, если они хотят остаться на android-рынке.eugenius_nsk
27.11.2015 14:59+1PS. Вот, что люди пишут:
I'm currently justifying my recent JRebel for Android purchase by noting how many things Instant Run doesn't (yet) support… ;)
JRebel has gotten fairly robust and handles a lot of weird situations smoothly, including adding/removing annotations (e.g. `@DebugLog`), changing anonymous classes, fiddling with Retrolambda and so on.
In any case, a bit of competition between the JRebel and Android teams can only be a good thing for us developers!
antonarhipov
28.11.2015 01:14Правда, я не уверен, возможны ли API changes с использованием JRebel for Android
Возможны.
antonarhipov
28.11.2015 01:13Здесь есть некоторое недопонимание.
JRebel изначально сделано для обычных Java-приложений. Instant Run в Android Studio 2.0 вообще из другого огорода.
Есть порт JRebel-я для Android Studio: zeroturnaround.com/software/jrebel-for-android. У него нет таких ограничений, как у Instant Run. Ну и то, что Instant Run вообще был сделан, только подтверждает, что JRebel решает правильную проблему :)
sim-dev
24.11.2015 10:10Я фигею от интуитивности и удобства «нового модного» дизайна сайтов и манеры давать ссылки вникуда.
P.S. поторопился…
HotIceCream
24.11.2015 10:25+5Релиз и превью немного разные вещи android-developers.blogspot.ru/2015/11/android-studio-20-preview.html
mdnsresponder
24.11.2015 11:19Спасибо, поправил. Ссылку на скачивание тоже перенацелил на канареечный билд.
NonGrate
24.11.2015 13:38Кто-нибудь разобрался, как запускать новый эмулятор? У меня каждый раз запускается старый, никаких плей сервисов, никаких дополнительных меню.
djvu
25.11.2015 00:25Android Studio 2.0 will also include an Android emulator that is faster and features a new user interface. It isn’t included in today’s Canary release, but you can expect it to show up in a future Canary release.
linkmdnsresponder
25.11.2015 08:10Спасибо, обновил пост. В оригинальном анонсе про это ничего не было. Умеют же люди писать чтобы запутать :)
agent10
Только вы забыли указать, что Instant Run на данный момент не поддерживается при следующих изменениях:
mdnsresponder
Спасибо, добавил про ограниченную функциональность.