- Тестирование MacBook Pro с процессором M1 Pro в Android-разработке
- Набор
- Разработка под Android на Apple Silicon
- Быстродействие
- Чистая сборка
- ABI Change in :core (invalidates all feature modules)
- ABI Change in a feature module
- Android Studio очистка кеша и рестарт
- Android Studio Gradle Sync
- Открытие Android Studio
- Figma
- Время работы от батареи
- Тепловое дросселирование
- Другие интересные наблюдения
- Конкуренты
- M1 Max
- 32 ГБ ОЗУ
- Мысли и выводы
- Как настроить Android Studio на вашем Mac (и почему вы этого хотите)
- Зачем беспокоиться с Android?
- Затмение с ADT или Android Studio?
- Начало работы с Android Studio
- Добавление пакетов SDK
- Портирование приложений iOS на Android
Тестирование MacBook Pro с процессором M1 Pro в Android-разработке
Вы, вероятно, уже прочитали несметное количество отзывов про новые MacBook с процессором M1 Pro и знаете, что они поразительно быстры в тестах или что у них лучшее время автономной работы в своем классе, что в них вернули порт MagSafe, порт HDMI и устройство чтения SD-карт. Но подходят ли они для разработки под Android?
Если вы не любите читать, то вывод — это просто фантастика. Новые MacBook однозначно являются новым эталоном для нашей отрасли.
Набор
Мне повезло, что у меня есть триада современных компьютеров для тестирования. В этом тесте использовались три компьютера:
- MacBook Pro 2021 года с диагональю 14 дюймов — M1 Pro (10 ядер) — 32 ГБ ОЗУ
- Настольный компьютер (Pop_OS!) — AMD 2950x, 4.2 ГГц (16 ядер) — ОЗУ 64 ГБ
- MacBook Pro 16 дюймов 2019 года — Intel i9 2.4 ГГц (8 ядер) –32 ГБ ОЗУ
Для тестирования производительности я использовал Gradle Profiler с приложением Tonal (которое работает на оборудовании Tonal, а не в нашем сопутствующем приложении). Приложение Tonal состоит из 161 модуля, 175 тысяч строк кода Kotlin, 8 тысяч строк кода Java и 60 тысяч строк XML. Вы можете узнать больше о нашем приложении здесь.
Все тесты Android Studio использовали Bumblebee Beta 1.
Разработка под Android на Apple Silicon
На протяжении всего этого эксперимента мне было приятно понимать, что на Apple Silicon легко все настроить и запустить. У сообщества разработчиков был год на обновление своего кода, и с появлением новых MacBook будет приложено еще больше усилий для полной поддержки Apple Silicon.
Android Studio Bumblebee и выше изначально поддерживает Apple Silicon. Вы можете загрузить версию на веб-сайте Android Studio.
Эта версия Android Studio включает в себя собственный JDK. Убедитесь, что вы указали своему JAVA_HOME на него. Если вы не хотите использовать встроенный JDK, вы можете использовать Zulu JDK. Я протестировал его с версией из комплекта Android Studio и обнаружил, что они оба работают одинаково.
Также поддерживаются эмуляторы Android. Однако вы можете использовать только образы эмулятора arm64. Вы не можете запустить эмулятор armv7 или x86. Также нет трансляции arm/x86, как в эмуляторах Android 11+ на других платформах. Помните об этом, если что-то из этого важно для вашей повседневной работы.
Быстродействие
Чистая сборка
Все показатели быстродействия усреднены для 10 прогонов
Вот временная шкала сканирования сборки Gradle, чтобы понять, насколько распараллелена наша сборка. Чем больше заполнено «строк» (воркеров), тем более распараллелена сборка в этой точке. Такие регионы выиграют от многоядерной производительности, в то время как части сборки, в которых используется только 1 или небольшое количество процессов, выиграют от одноядерной производительности.
- M1 Pro: 125 секунд
- 2950x: 112 секунд (10% быстрее)
- i9: 154 секунды (23% медленнее)
ABI Change in :core (invalidates all feature modules)
- M1 Pro: 33 секунды
- 2950x: 35 секунд (6% медленнее)
- i9: 50 секунд (52% медленнее)
ABI Change in a feature module
- M1 Pro: 13 секунд
- 2950x: 19 секунд (46% медленнее)
- i9: 19 секунд (46% медленнее)
Android Studio очистка кеша и рестарт
Тест реальной производительности, правильно?
- M1 Pro: 97 секунд
- 2950x: 195 секунд (101% медленнее)
- i9: 177 секунд (82% медленнее)
Android Studio Gradle Sync
- M1 Pro: 15 секунд
- 2950x: 24 секунды (60% медленнее)
- i9: 23 секунды (53% медленнее)
Открытие Android Studio
Время до завершения индексации и загрузки проекта
- M1 Pro: 16 секунд
- 2950x: 27 секунд (68% медленнее)
- i9: 23 секунды (43% медленнее)
Figma
Измерено быстрое панорамирование большого файла с увеличением 2% с помощью счетчика кадров в секунду в инструментах разработчика Chrome.
- M1 Pro: Стабильно 60–120 кадров в секунду. Ни разу не опускался ниже 60.
- 2950x: Нечестное сравнение — монитор 4k.
- i9: Обычно 60, но часто 24–60 кадров в секунду при прокрутке к новым областям.
Результаты этого теста поразительны для M1 Pro. Неудивительно, что M1 Pro быстрее MacBook i9 во всех тестах. Однако я не ожидал, что он также превзойдет мой десктопный компьютер — иногда со значительным отрывом. Результаты говорят сами за себя.
Время работы от батареи
Чтобы проверить время автономной работы, я использовал Gradle Profiler в повторяющейся чистой сборке нашего приложения с экраном на первой ступени яркости. Это выходит далеко за рамки обычного использования, потому что при этом почти все ядра постоянно работают на полную мощность.
В ходе этого стресс-теста мой MacBook i9 с диагональю 16 дюймов со 100% до 0% опустился за 58 минут. Впечатляюще плохой результат. За это время приложение было скомпилировано 19 раз.
14-дюймовый M1 Pro проработал 2 часа 10 минут. 16-дюймовый должен предложить примерно на 30% больше времени автономной работы, что приблизит его к 3 часам.
2–3 часа могут показаться ужасными по сравнению с тем, что можно было ожидать от Apple Silicon, однако имейте в виду, что в этом тесте почти все 10 ядер работали непрерывно.
Моя единственная точка данных для «нормального использования» была во время моей первоначальной настройки. Я потратил первые три часа на установку и настройку приложений, а также на быстрые тесты компиляции, и в конце у меня было 66% заряда батареи. Это соответствует примерно 9 часам умеренного использования. Этого времени достаточно для полноценного рабочего дня или перелета по стране, что невозможно с предыдущими MacBook.
Тепловое дросселирование
Температурный троттлинг (пропуск тактов из-за перегрева) — печально известная проблема Intel MacBook, которая заслуживает отдельного разговора. Во время этих тестов батареи у меня был запущен pmset -g thermlog | grep CPU_Speed_Limit, чтобы отслеживать, был ли троттлинг ЦП. Неудивительно, что i9 постоянно находился в диапазоне 60%, корпус был горячим, а вентиляторы были слышны из соседней комнаты. Однако время сборки оставалось прежними. Это был один из самых неожиданных результатов теста.
Apple Silicon не подключен к pmset thermlog (спасибо Zac Sweers), поэтому я мог измерить дросселирование только по его влиянию на время сборки. Корпус был только теплым, и вентиляторы были слышны, но звучали для моих ушей примерно в 10 раз тише и не работали большую часть теста. Ближе к концу теста время сборки увеличилось примерно на 50%. Я перезапустил Gradle Profiler и время сборки вернулось к исходным значениям. Однако оно снова начало подниматься примерно после 20 сборок.
Во время теста я обнаружил, что MacBook i9 стал ощущаться значительно более медленным. Например, Google Docs, Figma и Slack стали крайне медленными. Однако на M1 Pro мне не удалось обнаружить какой-либо значимой разницы в производительности, пока он выполнял сборки. Это очень важно для повседневного качества жизни, и хотя сборки M1 иногда замедлялись, они все равно были быстрее, чем i9, почти в каждой итерации.
Последовательное время сборки — работа до разрядки батареи
Другие интересные наблюдения
- НЕ ИСПОЛЬЗУЙТЕ помощник по миграции, особенно с Intel Mac. Мне было неприятно отслеживать, какие приложения были универсальными, а какие нуждались в обновлениях. Он также полностью испортил мои права доступа к домашнему каталогу. Я даже не мог открыть папку «Загрузки».
- Подключение внешнего монитора происходит молниеносно. Внешний монитор даже не мигает черным при открытии и закрытии крышки MacBook.
- Задачи, которые раньше имели небольшие задержки (поиск приложений в Spotlight и т.д.), теперь выполняются почти мгновенно.
- Дисплей ProMotion увеличивает воспринимаемую скорость, потому что такие действия, как клики и нажатия клавиш, теперь могут проявляться всего за 8 мс по сравнению с 16 мс на дисплеях с частотой 60 Гц.
- Использование Linux в прошлом году было заметно худшим по сравнению с macOS. Мне пришлось отказаться от расширений Chrome для таких вещей, как Loom и Todoist. Zoom не поддерживает настраиваемый фон или размытие. У меня было множество проблем со звуком, которые приводили к разочаровывающим впечатлениям от встреч. Случайные проблемы с драйверами могут вызвать серьезные задержки во всех приложениях WebKit на несколько недель без известного решения.
Конкуренты
Когда Apple готовилась к переходу на Apple Silicon, она отстала от последних процессоров Intel. Последние MacBook от Intel включали только процессоры 9-го поколения, которые были известны своими проблемами с питанием и температурой. Intel недавно анонсировала процессоры Adler Lake 12-го поколения, а у AMD появились мобильные процессоры Ryzen 9, которые значительно превосходят процессоры Intel 9-го поколения. Хотя мы никогда не увидим ничего из этого в MacBook, они будут доступны в ноутбуках с Windows. Забегая вперед, я ожидаю, что лидерство Apple Silicon будет еще больше, но будет справедливо отметить и достижения мира x86.
M1 Max
У меня нет M1 Max, с которым можно было бы сравнивать M1 Pro. Однако, несмотря на больший кэш и пропускную способность памяти, тесты ЦП между ними почти идентичны (Max vs Pro). В конечном счете, M1 Max был разработан для людей, которым нужны возможности графического, а не центрального процессора, и вряд ли обновление будет лучше работать в разработке под Android.
32 ГБ ОЗУ
Мой MacBook оснащен 32 ГБ оперативной памяти. Хотя можно получить 64 ГБ, я не думаю, что это необходимо для подавляющего большинства людей. Я разрешил Gradle использовать 20 ГБ, а чистые сборки тратили менее 3 секунд на сборку мусора. Apple Silicon имеет невероятно быструю оперативную память и твердотельные накопители, что делает пространство подкачки намного быстрее, чем на предыдущих MacBook, когда это необходимо.
Возможно, обновление принесет некоторые преимущества в производительности, но в лучшем случае они будут незначительными.
Мысли и выводы
В этих новых MacBook действительно есть все. У них лучшая производительность, которую вы можете найти, и при этом они могут обеспечивать ее часами в кафе или самолете, не будучи подключенными к розетке и не сжигая ваши колени. Помимо цифр и тестов, приведенных выше, невозможно полностью объяснить тот факт, что этот компьютер просто чувствуется быстрым. Печатать, переключать каналы в Slack, открывать большие базы кода или Google Docs очень просто.
Если вы профессиональный инженер, который ежедневно работает с большой кодовой базой, этот ноутбук станет достойным обновлением по сравнению с любым предыдущим поколением. Влияние этого MacBook на вашу способность к быстрой работе окупится в кратчайшие сроки.
Источник
Как настроить Android Studio на вашем Mac (и почему вы этого хотите)
Вам может понадобиться Mac, чтобы создавать свои собственные приложения для iOS
, но если вы больше похожи на зеленых пришельцев, Android IDE (интегрированная среда разработки) также доступна на OS X (среди других платформ).
Если вы готовы перейти от создания приложений для iPhone
или вам не терпится создать следующую большую вещь для Android, установка IDE — это первый шаг в этом путешествии. Или, если мы движемся слишком быстро, почему бы вам не начать с курса
Зачем беспокоиться с Android?
Если вы разбираетесь в разработке для OS X и iOS, вы можете спросить себя, зачем вообще беспокоиться об Android?
Многие разработчики iOS уклоняются от Android из-за фрагментации устройства и необходимости дальнейшего исправления / повторного создания приложений для разных версий ОС, которых много. Я не буду пытаться продать вам, какой из этих двух вариантов лучше, так как они оба предлагают многочисленные преимущества для разработчиков, но я скажу, что для создателей приложений, которые хотят зарабатывать на жизнь своими приложениями, найти какой-то баланс между устройствами никогда не бывает плохой идеей.
Кроме того, вы обнаружите, что общий опыт работы с Android гораздо менее строг. С одной стороны, Google Play (Android App Store) не имеет многих из тех же ограничений, что и Apple, и не требует от разработчиков ежегодной платы в 99 долларов (для Google — 25 долларов). Google предоставляет вам доступ к внутренним функциям Android (посредством модели с открытым исходным кодом), которая позволяет создавать такие вещи, как эмуляторы, загрузчики и настраиваемые доки, значки, стартовые экраны — как вы это называете — что просто невозможно в iOS ,
Если вы строго следите за показателями доходов, Apple App Store по-прежнему будет вашей основной целью. В то время как Google Play имеет на 60 процентов больше ежегодных загрузок, чем App Store, Apple App Store фактически приносит на 70 процентов больше годового дохода от приложений. Это не значит, что вы не можете быть прибыльным на Android или что вам следует избегать платформы в целом, на самом деле, наоборот.
В то время как приложения могут иметь более высокие показатели дохода в Apple App Store, показатели загрузки значительно выше в Google Play, что делает его интересной платформой для тестирования и настройки бесплатного приложения перед выпуском премиум-версии или бесплатной версии.
Затмение с ADT или Android Studio?
В прошлые дни у вас был постоянно запутывающийся выбор между пакетом, включающим Eclipse и плагином ADT (Android Developer Tools), или официальной Android Studio, основанной на платформе IntelliJ — IDE на основе Java.
К счастью, в последних итерациях процесс несколько упростили, выпустив всего одну версию Android Studio.
Фактически, хотя возможность использования Eclipse все еще существует, Google официально рекомендует начать процесс перехода на Android Studio, поскольку поддержка ADT заканчивается. Если вам нужна помощь в переносе ваших проектов, вам поможет эта статья в блоге разработчиков Android.
Теперь, если вы просто ищете эмуляторы, которые поставляются в комплекте с Android Studio, важно отметить, что есть и другие, более легкие способы
сделать это на вашем ПК с Windows, OS X или Linux без необходимости загружать и устанавливать Android Studio. На Mac попробуйте BlueStacks, или вы можете просто загрузить и запустить Android на вашем ПК с Windows. Если вы ищете сверхлегкую эмуляцию Android, попробуйте этот браузерный эмулятор для Chrome
Начало работы с Android Studio
Сначала мы должны загрузить и установить Android Studio, пакет, который состоит из:
- Android Studio IDE
- Android SDK (комплект разработки программного обеспечения)
- Платформа Android 5.0 (Lollipop)
- Образ системы эмулятора Android 5.0 с API Google
Запустите файл .dmg и перетащите Android Studio в папку «Приложения».
Откройте Android Studio и следуйте инструкциям мастера установки. Иногда вы сталкиваетесь с ошибкой, когда файл «поврежден» или ненадежен и должен быть перемещен в корзину. Если это произойдет, вам просто нужно настроить параметры безопасности и конфиденциальности, чтобы приложение могло работать, перейдя в Системные настройки> Безопасность Конфиденциальность > генеральный а затем выбрав В любом месте где написано «Разрешить загрузку приложений из:»
Если вам нужно использовать инструменты Android SDK из командной строки, вы можете получить к ним доступ, открыв Терминал (Приложения> Утилиты> Терминал) и используя следующее:
/ Users / имя пользователя / Library / Android / SDK /
Просто не забудьте добавить свое имя пользователя вместо имя пользователя .
Добавление пакетов SDK
Android SDK (комплект разработки программного обеспечения), который поставляется с пакетом Android Studio, не включает в себя все необходимое для разработки приложений для Android. Сам SDK — это утилита, используемая для разделения ваших инструментов, платформ и компонентов на пакеты с помощью Android SDK Manager.
Поэтому нам нужно добавить несколько пакетов, чтобы подготовить все к разработке. Не волнуйся, это простой процесс.
Сначала откройте менеджер SDK под Сервис> Конфигурировать> SDK Manager.
Замечания: С этого момента, чтобы быть кратким, мы будем предполагать, что если я не упомяну что-то конкретно, это означает одну из двух вещей:
- Он предварительно выбран и будет установлен автоматически, как только мы закончим.
- Вам это не нужно … по крайней мере, прямо сейчас.
Хорошо, давайте продолжим. Выберите следующее:
- Инструменты Android SDK
- Android SDK Платформа-инструменты
- Android SDK Build-tools (самая высокая версия)
Откройте папку для самой высокой версии Android в списке (5.1.1 на момент написания статьи) и выберите:
- Платформа SDK
- Изображение системы ARM EABI v7a
Открой Дополнительно каталог и загрузите следующие API для библиотеки поддержки Android:
- Репозиторий поддержки Android
- Библиотека поддержки Android
Откройте каталог Extras и загрузите пакет услуг Google Play, чтобы получить еще больше API. Добавлять:
- Google Repository
- Сервисы Google Play
- Нажмите Установить 22 пакета (или сколько угодно отчетов менеджера SDK).
- Нажмите на название каждого пакета слева, чтобы принять условия лицензии для каждого.
- Нажмите Установить.
Замечания: Не выходите из SDK manager, пока установка не будет завершена!
После завершения установки вы можете сразу же приступить к разработке
и даже запускать приложения для Android
прямо с вашего верного Mac (или Hackintosh) под управлением OS X.
Портирование приложений iOS на Android
Из-за отсутствия сходства в двух операционных системах нет ничего, что предлагало бы решение «подключи и работай» для переноса приложений из другой ОС.
Тем не менее, есть программа под названием Apportable, которую я чувствовал, стоит отметить. Apportable по сути переводит Swift и Objective-C для запуска машинного кода ARM и x86, который способен понять Android. Вы также найдете дополнительные плагины для дальнейшего снижения нагрузки на разработку, такие как плагин SpriteBuilder. Тем не менее, не все API-интерфейсы Apple доступны в Apportable, поэтому, несмотря на то, что это лучшее, что у нас есть, оно по-прежнему не является решением «включай и работай».
Основные преимущества Apportable заключаются в более быстрой кросс-компиляции без необходимости в эмуляторах, виртуальных машинах или альтернативе на Java. В то время как Java обеспечивает отличную кросс-совместимость в мобильных приложениях, она оставляет версии для iOS и Android не очень нативными. На самом деле, большинство чувствуют себя как дешевые порты от других ОС.
Опять же, это не идеальное решение, но оно должно значительно облегчить вашу рабочую нагрузку, если вам придется перемещаться между Android и iOS.
Счастливого развития, и обязательно поделитесь тем, что вы нам придумали, здесь, на сайте Use Use Of.
Вы разработали приложение для iOS или Android? Какая платформа, на ваш взгляд, предлагает лучшие инструменты для разработчиков?
Источник