Android Broadcast – Telegram
Android Broadcast
14.4K subscribers
3.68K photos
367 videos
11 files
6.1K links
Подборка новостей и статей для Android разработчиков.

Реклама и связь с автором @ab_manager

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#ART #Memory #GarbageCollector

Trash Talk (Android Dev Summit '18)

Знасенитый дуэт Android гуглеров Chet Haase и Roman Guy на прошедшем Dev Summit доступным языком рассказали о том как работает сборка мусора в Android и как она эволюционировала на протяжение жизни Android, и если вам нужно использовать Enum - используйте 😁.
Android Dev канал сделал замечательную выборку основных моментов из докладов с Android Dev Summit 2018 длиной 5+- минут
#Kotlin #Coroutines #Native

https://blog.jetbrains.com/kotlin/2018/11/join-kotlin-1-3-webinars/?utm_source=android_broadcast_tl

Для всех любителей корутин в Kotlin и тех кто хочет погрузиться в этот мир 5 декабря пройдет вебинар от JetBrains. Вести его будут глав архитектор и всея Kotlin Андрей Бреслав и глава министерства корутин Роман Елизаров. Регистрируйтесь и готовьтесь к корузнаниям!

Через неделю после этого вы сможете узнать больше о Kotlin/Native (компилируйте Kotlin прямо в машшинный код и пишите приложения под iOS, например) от Nikolay Igotti
#Emulator

На конференциях в Google я видел много докладов с нериметным именем и спикерами не из первого эшелона, но получал от них много информации. В этот раз доклад о Android эмуляторах не подвел! Ребята изложили материал очень доступно и сделали демо.

Что нового и полезного я узнал из видео
* ВОзможность работы с гироскопом, акселерометром и пр. сенсорами в эмуляторе
* Разрабатывается интеграция с большей интеграцией аппаратного ускорения на macOS
* Возможность поддержки OpenGL 2 & 3
* Поддержка GPU Snapshot
* Несколько экземпляров одного эмулятора с возможностью загрузки различных Snapshot в них
* Поддержка ARCore - библиотека с Google в дополненной реальности
* Сохранение Snapshot уменьшено с 5-10 секунд (Macbook Pro 15" 2015) до < 1 секунды (прогресса в UI не увидел)

https://youtu.be/lL2nKEVmMjc
#FiresideChat

https://youtu.be/FV3iN4PIB5U

Один из моих любимых форматов на Google конференциях - это Fireside Chat, когда вы можете услышать интересные ответы от гуглеров, разрабтывающих Android.

Для вас я подобрал выборку самых интересных вопросов/ответов из этого общения:

👉🏻 Вопрос: Kotlin довольно популярен и разработчики активно на на него переходят, но довольно тружно порой убедить в переходе менеджмент более консервативных компаний таких как финансовые или страховые, у которых IT не является направлением сферы. Есть ли какие-то презентации или другие материалы чтоыб презентовать необходимость в переходе на Kotlin?
👌 Ответ: Материалов нет. Рекомендую использовать презентацию Christina Lee (как я понял разговор был о этом выступление "Life is Great and Everything Will Be Ok, Kotlin is Here (Google I/O '17)")

👉🏻 Вопрос: Android Lint очень классная тулза, но для больших проектов анализ выполняется очень долго даже при наличие небольших изменений. Возможно ли сделать инкрементальным и ускорить его работу?
👌 Ответ от Tor Norbye: Ускорять работы не планируется. Даже планируется сделать наоборот проверки более глубокими и работать они будут медленее. Android Lint полностью использует Gradle Cache API, но в силу сложности анализов не представляется сделать эффективным инкрементальный анализ. Как решение предложено было делать анализ Lint каждую ночь.
Лично я задумался над тем чтобы прогонять только проверки уровня Error на каждом ПР, а все остальные выполнять ночью 🌙.

👉🏻 Вопрос: Instant Run часто выполняет перезапуска приложения и работает неэффективно. Ведутся ли работы над его улучшением?
👌 Ответ: Проблема известная и работе Instant Run будет исправляться и улучшать в рамках будущего объявленного багфикса и ускорения Android Studio (Project Marbel).

👉🏻 Вопрос: Android разработка сейчас слабо представляется на устройстве в котором нет 4 или более ядерного Core i5/i7, 16 Гб оперативной памяти и SSD с хорошей скоростью. Есть ли движения в плане разработке на слабых устройствах и компиляции кода на mainframer-е?
👌 Ответ: Этот вопрос обсуждалась и до сих пор обсуждается, но решение этой задачи очень сложное, поэтому пока движений в этом направление нет. Будет проводиться улучшение по минимизации необходимых ресурсов для работы в Android Studio.
👉🏻 Вопрос: * Code Coverage отчет через Gradle с использованием JaCoCo некорректен: не игнорируется генерируемый код, нет корректной интеграции с Kotlin. Это особенно огорчает на фоне того что Coverage Report встроенный в Android Studio выдает корректныке резульатты. Также печалит что нет никаких руководств по настройке. + боль того что нельзя запускать JUnit тесты по одному классу/методу из Android Stduio.
👌 Ответ: Эти проблемы известные и будут решаться в рамках Project Marbel в ближайших релизах Android Studio.
От себя добавлю что я смог запускать отдельные классы/методы тестов в AS 3.2 с помощью запуска JUnit 4 тестов как JUnit 5 + Vintage

👉🏻 Вопрос: Будет ли добавлена поддержка JUnit 5 для тестов в Android, тем более поддержка со стороны Gradle уже есть несколько релизов.
👌 Ответ: Да, это важный функционал и он будет взят на заметку.

👉🏻 Вопрос: Контрибьютить в AOSP довольно непросто. Мало кто кроме гуглеров знает как это делать (опрос прямо в зале был). Особенно печально стало когда AndroidKtx убрали из Gtihub и продолжили разрабатывать в AOSP. Почему не происходит хостинг проектов в Github?
👌 Ответ: Команда старается делать процесс котрибьюшена в код AOSP как можно более простым. Разработчики из Android команды очень ожидают что сообщество будет предлагать изменения и улучшения в бибилиотеки, но не платформу, так как ее разработа ведется закрыто до релизов.

👉🏻 Вопрос: Работа с Camera в Android непростая. У каждых OEM производителей свой реализация в силу чего в коде появялется много разветвление для того чтобы заставить работать приложение с камерой. Почему Google не возьмет под контроль API и не заставит производителей стандартизировать реализацию? + будет ли убрана полностью поддержка Camera 1 API ?
👌 Ответ: Реализация API камер проиводителя очень разнится из-за подходов. Ведутся работы по созданию библиотеки в рамках Jetpack, которая сделает общий интерфейс для работы с камерой между Camera 1 и Camera 2 и решит проблемы по реализации камера у различных OEM. Camera 1 все также будет пристуствовать по причине того, что Android поддерживает слабые устройства, железо которых просто не может работать с Camera 2.
#Kotlin #Coroutines #RxJava

https://youtu.be/1lEG1CPkRaw

Владимир Иванов на прошедшей конференции AppsConf рассказал о том как затянуть корутины в продакшен, особенно если вы увязли в Rx и потеряли надежду что для вас есть другой путь.

Для тех кто не хочет длинной презентации может почитать статью с текстовым описание доклада
https://habr.com/company/oleg-bunin/blog/429908/
Основные преимущества нового инструмента:
* Поддержка различных систем для запуска тестов (CI, Gradle, Bazel и пр.)
* Абстрагирование от устрйоства на котором происходит выполнение тестов: реальное, Robolectric, эмулятор, Firebase Test Lab
* Кроссплатформенная: macOS, Linux, Windows
* Единая конфигурация
* Возможность написания собственных плагинов
* Единый отчет
* Выполнение на одном устройстве, нескольких (например телефон + телефон либо телефон + часы) либо параллельный запуск
* Множества оптимизаций для ускорения запуска устройств
* Интеграция в Firebase и Android Stuiod

Пока утилита недоступна 😔, первую альфа планируют показать только в Q1'19