Size: a a a

Android Broadcast

2019 March 28
Android Broadcast
Сравнения потребления памяти обычным и headless эмулятором
источник
Android Broadcast
#AOSP

AOSP Application Updates

Чистка референсных приложений в AOSP. Упрощены музыкальный плеер, календарь и калькулятор и теперь они выполняют самый простейший функционал, например мызукалтный плеер поддерживает только проигрывание одного трека. Причина проста - оно не поддерживаются, функции их не соответствуют современным требованиям. В будущем чистка может задеть и другие приложения.
источник
2019 March 29
Android Broadcast
#GoogleIO

Google I/O 2019 schedule was released

Опубликовано расписание сессий на предстоящем Google I/O. Исходя из его анализа можно понять что нас ждет:
🔥библиотека AndroidX.Camera, которая решит проблемы с особенностями работы на особенностях реализации на устройствах разных производителей
🔥подробности темной темы в Android Q
🔥библиотека для бенчмарков в AndroidX
🔥релиз Constraint Layout 2.0 и Motion Layout
🔥обновления в Arch Components
🔥Что было сделано в рамках Project Marbel - обещанной оптимизации работы инструментов разработчика и устранению багов

ВАЖНО: информация неточная и построена на моих предположениях из описания докладов.

К сожалению, пока в расписании не видно докладов о Fuchsia OS (может они появятся на сайте после громких анонсов на Keynote)б
источник
Android Broadcast
Интересные доклады по моему мнению следующие:

What's New in Android

Android:
👉 Understanding Android Runtime (ART) for Faster Apps
👉 Best Practices for Using Sign-In for Android Apps
👉 Security on Android: What's Next
👉 What's New in the Android OS User Interface
👉 Moving Away from the Light with Android Q
👉 Best Practices for Using Text in Android
👉 Demystifying Android Accessibility Development
👉 Improve Digital Wellbeing: Google's Approach and Tips for Developers
👉 Extend Your Android App to the Google Assistant

Android Jetpack:
👉 Android Jetpack: What's New in Navigation
👉 Android Jetpack: Understand the CameraX Camera-Support Library
👉 What's New in Architecture Components
👉 What's New with ConstaintLayout
👉 Improving App Performance with Benchmarking

Architecture:
👉 Build a Modular Android App Architecture
👉 Build Apps for Foldable, Multi-Display, and Large-Screen Devices
👉 Build Testable Apps for Android
👉 Build Apps for the Next Billion Users

Tools:
👉 Best Practices in Using the Android Emulator
👉 What's New in Android Studio UI Design and Debugging Tools
👉 What's New in the Android Studio Build System
👉 Android Studio: Tips and Tricks
👉 Build Bigger, Better: Gradle for Large Projects

Design:
👉 Material Theming: Build Expressively with Material Components
👉 How Material Design Can Be Adopted and Measured for Product Success
👉 How to Design a Dark Theme Using Material

Google Play:
👉 What's New in Google Play
👉 What's New with Google Play Billing
👉 What's Next for Your App Bundle: Customizable App and Games Delivery
👉 Best Practices in Boosting Optimized App Installs on Google Play
👉 Improve Your App and Game Quality with Android Vitals

Kotlin:
👉 Understand Kotlin Coroutines on Android
👉 What's New in Kotlin on Android
👉 Kotlin on Android: Understand the Internals

Firebase:
👉 What's New in Firebase
👉 Cloud Firestore Data Modeling
👉 Engage and Keep Your Users in Your App with Firebase
👉 ML Kit: Machine Learning for Mobile with Firebase

Machine Learning:
👉 What’s New in Android Machine Learning
👉 ML Kit x Material Design: Design Patterns for Mobile Machine Learning
👉 Introducing Google Coral: Building On-Device AI
👉 AI for Mobile and IoT Devices: TensorFlow Lite
👉 Machine Learning on Your Device: The Options
источник
Android Broadcast
источник
Android Broadcast
#FFmpeg #Audio #Performance

Using FFmpeg for faster audio decoding

Статья о том как использовать FFmpeg на Android. По сравнению со стандартными доступными средствами в Android NDK, FFmpeg позволяет повысить скорость обработки аудио в 10 раз (протестировано на Google Pixel XL).
источник
2019 March 30
Android Broadcast
#MobilePeople #Podcast #GoogleIO #EPAM

EPAM активно поддерживает около ITшные сообщества разработчиков по разным направлениям. Одно из таких сообществ - Mobile People. В рамках этой инициативы зародился подкаст Mobile People Talks - подкаст про мобильную разработку с взглядами из различным направлений.

Я очень рад что смог стать частью этого (спасибо Данису Тазетдинову за приглашение).

В первом выпуске мы обсудили предстоящий Google I/O: Android Q, куда все движется, чего каждый из нас ждет и как всегда похоливарили 😁
источник
Android Broadcast
Какую библиотеку для загрузки изображений используете вы в своих последних приложениях?
Окончательные результаты
80%
Glide (bumptech.github.io/glide/)
11%
Picasso (square.github.io/picasso)
2%
Universal Image Loader (github.com/nostra13/Android-Universal-Image-Loader)
0%
Facebook Fresco (frescolib.org)
0%
Другая библиотека
2%
Androiв SDK only
6%
Не работаю с изображениями
Проголосовало: 64
источник
Android Broadcast
#Glide #Image #Cache

Best strategy to load images using Glide

Glide - это довольно популярное решение для загрузки изображений. Я использую именно за его широкие возможности, поддержку добавления загрузки и кэширования собственных типов данных и широкие возможности по пост обработки изображения перед показом картинки пользователю.

В статье выше нашел пару интересных моментов по использованию Glide:
👉 Добавляйте url превью картинки более мелкого размера (thumbnail), это позволит показать результат пользователю быстрее но в более низком качестве
👉 Выполняйте периодическую очистку кэша. Например, можно создать периодическую Work, использую WorkManager, которая будет очищать старый кэш.
источник
2019 March 31
Android Broadcast
android_broadcast
Какую библиотеку для загрузки изображений используете вы в своих последних приложениях?
Окончательные результаты
80%
Glide (bumptech.github.io/glide/)
11%
Picasso (square.github.io/picasso)
2%
Universal Image Loader (github.com/nostra13/Android-Universal-Image-Loader)
0%
Facebook Fresco (frescolib.org)
0%
Другая библиотека
2%
Androiв SDK only
6%
Не работаю с изображениями
Проголосовало: 64
По итогам опроса о популярности библиотеки для загрузки изображений победителем стал Glide 🎉🎉🎉
источник
2019 April 02
Android Broadcast
#ART #Performance

Improving app performance with ART optimizing profiles in the cloud

В Android 9.0 Pie была запущены оптимизирующие профили ART в Play Cloud, которое позволило ускорить запуск приложения в среднем около 15% без необходимости какой-либо оптимизации со стороны разработчиков приложений.

В статье подробно освещается механизм работы эту функции:
👉 Сбор информации для профилей
👉 DEX метадата
👉 Структура профилей
источник
Android Broadcast
#Dagger #DependencyInjection #Square

Dagger Assisted Injection

Для всех те кто решал проблему Dagger 2 с передачей параметров в зависимости, Square сделали толковое решение - Assisted Inject, которое позволяет избавиться от создания дополнительных компонентов или не задавать зависимости через setter-ы после их создания.

Рассмотрим пример:
class TextPresenter
  @AssistedInject constructor(
@Assisted val view: TextView,
@Assisted val text: String,
val textDecorator: TextDecorator
)

Параметры view и text не находятся в графе зависимостей и поэтому мы не можем получить оттуда, и мы помечаем их с помощью @Assisted, что говорит о том что они будут задаваться динамически.

Следующим шагом нам нужна фабрика для создания нашей зависимости:
class TextPresenter {
@AssistedInject.Factory interface Factory {
fun create(
view: TextView,
text: String
): TextPresenter
}
}

Фабрика позволит нам создавать зависимости, передавая туда необходимые параметры.

Библиотека сейчас находится в версии 0.3.3, но работает без проблем, проверено личной мной на production проекте.

Все подробности полной реализации вы можете найти в статье.

Gtihub Assisted Inject
источник
Android Broadcast
Считаете ли Вы, что Android разработчик должен пользоваться Android устройством, чтобы понимать платформу как пользователь?
Окончательные результаты
56%
Однозначно использовать Android!
27%
Android, iOS, да хоть Windows Phone, всё равно
17%
Хочу увидеть результаты
Проголосовало: 108
источник
Android Broadcast
#Dagger #LibUpdates #DependencyInjection

Вышел Dagger 2.22

Вышел Dagger 2.22. В новом релизе нас ждут:
👉 Теперь создавать компоненты можно не только с помощью Builder (помечая интерфейс @Component.Builder), но и фабрикой с единственным методом, принимающим все параметры (для этого используйте @Component.Factory)
👉 @BindsInstance теперь можно применять к параметрам метода. Это сделано для поддержка Factory у Component
👉 Публичные модули могут включать непубличные
👉 Улучшение производительности процессора аннотаций и сгенерированного кода
👉 Прочие мелкие улучшения

Версия уже доступна и Вы можете начать обновление!
источник
2019 April 03
Android Broadcast
#Firebase #MLKit #MachineLearning

ML Kit expands into NLP with Language Identification and Smart Reply

Firebase ML Kit - это простой способ интеграции машинного обучения в ваше приложение. Разработчики этой библиотеки добавили поддержку новых функций: распознавание языков и Smart Reply.

Распознавание языков
Это API позволяет вам определять язык текста. Поддерживается 110 языков из разных групп: латиница, кириллица, иероглифы и пр.

Smart Reply
С помощью Smart Reply вы можете генерировать ответы на основе переписки. Например, можно использовать это для быстрых ответах в уведомлениях.
В текущее время поддерживается только английский язык.
источник
Android Broadcast
источник
Android Broadcast
#AndroidQ

Android Q Beta 2 update

Вышла вторая бета Android 10 Q. Изменения следующие:
👉 Scoped Storage теперь включено по умолчанию для устанавливаемых приложений
👉 Bubbles: новый способ многозадачности, построенный на основе системы уведомлений
👉 Эмулятор для сгибаемых (Foldable) устройств (доступно в последней canary Android Studio 3.5)
👉 Улучшение в UI шаринга: теперь можно задать заголовок или превью картинку
👉 Управление микрофоном: теперь можно задать какой микрофон использовать (если их несколько на устройстве) и задавать радиус зоны записи
👉 Больше ограничений на закрытое Android API
👉 Добавлены новые роли в RoleManager: ROLE_ASSISTANT, ROLE_CALL_REDIRECTION и ROLE_CALL_SCREENING
👉 Улучшения API
👉 Фикс багов и оптимизация

Уже доступны обновленные SDK, эмуляторы и прошивки для Pixel
источник
Android Broadcast
Bubbles на примере уведомлений от мессенджера
источник
Android Broadcast
Foldable эмулятор
источник
2019 April 04
Android Broadcast
#MobilePeople #Podcast #AndroidQ #GoogleIO

Mobile People Talks #0: Google I/O & Android Q

Первый выпуск подкаста Mobile People Talks вышел и в нем мы с коллегами говорили о Google I/O, Android Q и Fuchsia.

Подкаст на iTunes
Подкаст на Google Podcast
Подкаст на SoundCloud

Чтобы следить за новостями подписывайтесь на канал Mobile People Talks

Спойлер: На подходе уже второй выпуск в рамках которого мы поговорим о Flutter, зададим вопросы Саше Денисову, который сейчас занимается развитием этой экспертизы в EPAM
источник