В Android 9.0 Pie была запущены оптимизирующие профили ART в Play Cloud, которое позволило ускорить запуск приложения в среднем около 15% без необходимости какой-либо оптимизации со стороны разработчиков приложений.
В статье подробно освещается механизм работы эту функции: 👉 Сбор информации для профилей 👉 DEX метадата 👉 Структура профилей
Glide - это довольно популярное решение для загрузки изображений. Я использую именно за его широкие возможности, поддержку добавления загрузки и кэширования собственных типов данных и широкие возможности по пост обработки изображения перед показом картинки пользователю.
В статье выше нашел пару интересных моментов по использованию Glide: 👉 Добавляйте url превью картинки более мелкого размера (thumbnail), это позволит показать результат пользователю быстрее но в более низком качестве 👉 Выполняйте периодическую очистку кэша. Например, можно создать периодическую Work, использую WorkManager, которая будет очищать старый кэш.
EPAM активно поддерживает около ITшные сообщества разработчиков по разным направлениям. Одно из таких сообществ - Mobile People. В рамках этой инициативы зародился подкаст Mobile People Talks - подкаст про мобильную разработку с взглядами из различным направлений.
Я очень рад что смог стать частью этого (спасибо Данису Тазетдинову за приглашение).
В первом выпуске мы обсудили предстоящий Google I/O: Android Q, куда все движется, чего каждый из нас ждет и как всегда похоливарили 😁
Статья о том как использовать FFmpeg на Android. По сравнению со стандартными доступными средствами в Android NDK, FFmpeg позволяет повысить скорость обработки аудио в 10 раз (протестировано на Google Pixel XL).
Android vitals allows you to identify performance issues in your app by providing information about battery use, stability, rendering, app startup time, and ...
Опубликовано расписание сессий на предстоящем Google I/O. Исходя из его анализа можно понять что нас ждет: 🔥библиотека AndroidX.Camera, которая решит проблемы с особенностями работы на особенностях реализации на устройствах разных производителей 🔥подробности темной темы в Android Q 🔥библиотека для бенчмарков в AndroidX 🔥релиз Constraint Layout 2.0 и Motion Layout 🔥обновления в Arch Components 🔥Что было сделано в рамках Project Marbel - обещанной оптимизации работы инструментов разработчика и устранению багов
ВАЖНО: информация неточная и построена на моих предположениях из описания докладов.
К сожалению, пока в расписании не видно докладов о Fuchsia OS (может они появятся на сайте после громких анонсов на Keynote)б
Чистка референсных приложений в AOSP. Упрощены музыкальный плеер, календарь и калькулятор и теперь они выполняют самый простейший функционал, например мызукалтный плеер поддерживает только проигрывание одного трека. Причина проста - оно не поддерживаются, функции их не соответствуют современным требованиям. В будущем чистка может задеть и другие приложения.
Project Marble шагает по инструментарию разработчиков. Настала очередь рассказа изменений в эмуляторе. Разработчики жаловались на то, что Android эмулятор потребляет много системных ресурсов. Googleры решили уменьшить потребление CPU ресурсов. Результаты этой работы можно посмотреть в Android Emulator 28.1, который доступен в Canary канале.
Что именно было сделано: 1️⃣Теперь устройства в эмуляторе по умолчанию работают от батареи (а не от зарядки). Это связано с тем, что большая часть сервисов оптимизирована для экономного расхода заряда батареи. Эти оптимизации работают только если устройство не заряжается. 2️⃣Возможность поставить эмулятор на паузу. Это позволяет уменьшить расход ресурсов, когда вы не используете эмулятор, например во время правок кода. Используйте adb emu avd pause/resume для теста. 3️⃣Снижение затрат на отрисовку. Теперь отрисовка стала эффективнее (график приведен ниже) и повышена частота кадров 4️⃣Оптимизация IO операций на macOS. Это позволило здорово сократить нагрузку на CPU c ~10% до ~3% 5️⃣Headless Build (запуск эмулятора без UI). Это функция пригодится тем кто использует эмуляторы на CI или вам не нужно тестировать UI. Она позволяет сократить потребление RAM на 100 Mb
Третья статья из серии о компонентах Material Design и как их использовать в Android. В текущей рассматривается Bottom Sheet: 👉 Виды Bottom Sheet 👉 Базисы использования 👉BottomSheetBehavior 👉 Состояния Bottom Sheet и как его сохранить 👉 Оповещение об изменение состояния 👉 Кастомизация
Я реализовал библиотеку StrictModeCompat для удобной работы с StrictMode на всех версиях Android. Она позволяет безопасно вызывать любой метод аналогично тому, как это сделано в AndroidX. В статье ниже вы найдете описание проблемы и как подключить библиотеку к вашему проекту.
По статистике на декабрь 2018 года 100 самых популярных приложений были установлены 54 миллиарда раз из 85 из них содержат нативный код.
Хотите сделать конкурента таким приложением или статью часть их команды? Без знания C/C++ уже не обойтись с ростом навыков, но любому разработчику будет полезно знать как дебажить такой код.
В статье вы найдете руководство с чего начать поиск проблемы, когда ваше приложение падает на уровне нативного кода.