Очень часто сталкиваюсь с тем, что приложения российских банков весят много (у каждого из нас конкретная цифра будет своя). При этом крупные игроки инвестируют в оптимизацию и сокращение размера.
Разберёмся, почему у нас это почти никого не волнует.
🛑 Невозможность публикации в Google Play
- Google Play был сдерживающим фактором — магазин ограничивал [максимальный размер приложения, поэтому приходилось оптимизировать.
- Отказ от App Bundle в RuStore — хотя формат и появился в магазине от VK, для его использования нужно передать сертификат подписи. Разработчики это не делают по причине "Зачем?" иди "Не доверю им свой сертификат и креды для подписи".
На август 2025 количество приложений с распространением через App Bundle в RuStore всё больше и больше.
- Распространение через универсальный APK — в нём включены все языки, архитектуры процессоров и размеры экранов. Большая часть этих ресурсов на устройстве не нужна, но всё равно хранится. Даже при обновлениях внутри приложения банки не используют Split APK хотя бы по ABI.
- Нет аналога Google Play Dynamic Delivery — этот механизм позволяет загружать только нужные пользователю ресурсы, но вне Google Play им воспользоваться невозможно.
💼 По-моему мнению, главная причина: Банки не конкурируют приложениями как основным продуктом
Клиенты выбирают банк по финансовым условиям: выгодные ставки, кешбэк, бесплатное обслуживание.
Я даже не могу вспомнить рекламы банков по телевизору, где фокус на приложении, а не процентах или кэшбеке (может вы в комментариях сможете поделиться примером рекламы приложения банка)
Если завтра приложение будет весить 400 МБ вместо 200 Мб — откажется ли пользователь обновить его или вовсе пользоваться услугами банка? Скорее всего, нет. И бизнес это прекрасно понимает.
Бороться за компактность невыгодно. Это не влияет на метрики и привлечение клиентов. Люди устанавливают приложения. Деньги крутятся. Зачем заморачиваться?
Хочешь понять, как Google Play и App Bundle реально помогают ужать приложение до минимума? Разложил всё по полочкам вот в этом видео
#android #googleplay #appbundle #rustore
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62❤6🔥6🤔5🤝3🤯2🙏1
‼️ Samsung запретит на своих смартфонах всё кроме фирменной One UI
Bootloader на устройствах Samsung всегда был открытым. Это позволяет модерам заливать на смартфоны компании альтернативные прошивки, а после прекращения поддержки моделей производителем, продолжить получать там свежие версии Android.
В соотвествии с новым законом из Европейского Союза, Samsung (как и другие производители смартфонов) обязана запретить установку неавторизованного программного обеспечения, а также позволять ставить только “подписанные и одобренные прошивки” (а кто одобрять будет?). Директива вступает в силе с 1 августа 2025 года так что все новые устройства Samsung, а также все что обновятся на One UI 8 больше не смогут использовать что-то софта кроме как от производителя.
Очень странный закон. Когда Евросоюз наоборот старается сделать диверсификацию рынка в мобилки, убирать монополию Apple в работе сервисов на iOS, а по итогу начинает запрещать кастомные сборки для устройств. В целом тенденция не нова, так как сами производители уже закрывают свои Bootloader и только вопрос времени когда все производители полностью закроют свои устройства, а модеры вымрут из-за невозможности делать ПО под свежие устройства.
Начало конца свободных прошивок или что-то благородное? Делитесь в комментариях
#samsung
Bootloader на устройствах Samsung всегда был открытым. Это позволяет модерам заливать на смартфоны компании альтернативные прошивки, а после прекращения поддержки моделей производителем, продолжить получать там свежие версии Android.
В соотвествии с новым законом из Европейского Союза, Samsung (как и другие производители смартфонов) обязана запретить установку неавторизованного программного обеспечения, а также позволять ставить только “подписанные и одобренные прошивки” (а кто одобрять будет?). Директива вступает в силе с 1 августа 2025 года так что все новые устройства Samsung, а также все что обновятся на One UI 8 больше не смогут использовать что-то софта кроме как от производителя.
Очень странный закон. Когда Евросоюз наоборот старается сделать диверсификацию рынка в мобилки, убирать монополию Apple в работе сервисов на iOS, а по итогу начинает запрещать кастомные сборки для устройств. В целом тенденция не нова, так как сами производители уже закрывают свои Bootloader и только вопрос времени когда все производители полностью закроют свои устройства, а модеры вымрут из-за невозможности делать ПО под свежие устройства.
Начало конца свободных прошивок или что-то благородное? Делитесь в комментариях
#samsung
🤯40❤10🤔8👍5
Чем отличается HDR (High Dynamic Range) видео или фото от обычного или SDR (Standard Dynamic Range)? Дисплей устройства становится ярче и насыщеннее. В этом и есть задача HDR - обеспечить больше информации о цвете и яркости картинки, чтобы передать максимально близко к задумке автора контента.
SDR формат с которым мы живем довольно давно и он разрабатывался из расчет на устройства того времени, которые просто не могли передать параметры выше:
- максимальная яркость ~100 нит
- ограниченная цветовая палитра (sRGB)
- светлое не такое уж светлое, а тёмное — просто чёрная клякса
Современные дисплее смартфонов имеют пиковую яркость в несколько тысяч нит, большие возможности по показу разных цветов и скорость отображения, поэтому SDR просто не может раскрыть их возможностей. Для этого сделали HDR и он позволяет раскрыть максимум от экрана устройства.
В Android 14 начали активную поддержку HDR контента и его его совместимость с устройствами без поддержки формата, а именно добавили возможности:
✅ показывать HDR-видео в SurfaceView и MediaCodec
✅ накладывать поверх яркий, живой интерфейс — тоже в HDR
✅ узнать через API, поддерживает ли устройство HDR
✅ использовать ImageDecoder для работы с HDR-изображениями
✅ автоматически конвертировать HDR в SDR контент
Google внедрила поддержку UltraHDR - формат изображений c HDR. В нем могут снимать современные Android устройства и получать больше эмоций от ваших фото. Каждый раз наслаждаюсь этим на Pixel.
В блоге Android Developers вышла статья с подробностями как устроен цвет на цифровых устройствах и какие преимущества даёт HDR
#android #hdr
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers
Support Ultra HDR | Android media | Android Developers
👍17❤2
🎉 Новый инструмент управления состоянием для Flutter - yx_state
Команда Городских сервисов Яндекса разработала и выложила в опенсорс новый state management для Flutter. Около года назад они выпустили yx_scope — фреймворк для Dependency Injection.
yx_state — это набор библиотек для управления состоянием в Dart‑ и Flutter‑приложениях, созданный с фокусом на простоту использования и гибкость настройки. В наборе три библиотеки:
👉 yx_state — библиотека для управления состоянием
👉 yx_state_flutter — набор виджетов для интеграции с Flutter
👉 yx_state_transformers — набор трансформеров для управления стратегиями выполнения операций.
Ключевые особенности:
👉 Простота. Методы вместо событий — никаких дополнительных классов и маппингов.
👉 Последовательность выполнения. Если вы несколько раз подряд вызовете методы, использующие handle, то каждая новая операция будет ждать завершения предыдущей, образуя очередь.
👉 Удобство. Можно дождаться выполнения операции привычным способом через await.
👉 Гибкие стратегии. По умолчанию все операции выполняются последовательно, но можно изменить поведение на другое, например, параллельное выполнение.
👉 Глобальные переопределения. Можно настроить поведение всех StateManager в приложении в одном месте, не изменяя код каждого отдельного StateManager.
👉 Обработка ошибок. У StateManager есть встроенный механизм для обработки исключений. Если вы не перехватываете исключения, они будут автоматически перехвачены и обработаны.
👉 Интеграция с Flutter. StateBuilder для перестройки UI при изменении состояния, StateListener — виджет для выполнения сайд‑эффектов без перестройки UI и другие.
В Яндекс Про этот инструмент уже использовался для создания сотен разных фич, теперь с ним может ознакомиться каждый — исходный код уже лежит на🐱 GitHub.
❗️ Примеры и подробный обзор в статье на Хабре.
#flutter #opensource
Команда Городских сервисов Яндекса разработала и выложила в опенсорс новый state management для Flutter. Около года назад они выпустили yx_scope — фреймворк для Dependency Injection.
yx_state — это набор библиотек для управления состоянием в Dart‑ и Flutter‑приложениях, созданный с фокусом на простоту использования и гибкость настройки. В наборе три библиотеки:
👉 yx_state — библиотека для управления состоянием
👉 yx_state_flutter — набор виджетов для интеграции с Flutter
👉 yx_state_transformers — набор трансформеров для управления стратегиями выполнения операций.
Ключевые особенности:
👉 Простота. Методы вместо событий — никаких дополнительных классов и маппингов.
👉 Последовательность выполнения. Если вы несколько раз подряд вызовете методы, использующие handle, то каждая новая операция будет ждать завершения предыдущей, образуя очередь.
👉 Удобство. Можно дождаться выполнения операции привычным способом через await.
👉 Гибкие стратегии. По умолчанию все операции выполняются последовательно, но можно изменить поведение на другое, например, параллельное выполнение.
👉 Глобальные переопределения. Можно настроить поведение всех StateManager в приложении в одном месте, не изменяя код каждого отдельного StateManager.
👉 Обработка ошибок. У StateManager есть встроенный механизм для обработки исключений. Если вы не перехватываете исключения, они будут автоматически перехвачены и обработаны.
👉 Интеграция с Flutter. StateBuilder для перестройки UI при изменении состояния, StateListener — виджет для выполнения сайд‑эффектов без перестройки UI и другие.
В Яндекс Про этот инструмент уже использовался для создания сотен разных фич, теперь с ним может ознакомиться каждый — исходный код уже лежит на
#flutter #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔22🔥5❤3👍2
За годы работы в IT в разных компаниях и командах я понял одну простую вещь:
даже лучшие правила и практики будут нарушаться, если нет автоматической системы, которая их регулярно проверяет.
Сегодня поделюсь, как я подхожу к автоматизации контроля качества кода Android-проектов на Kotlin.
Рассматривать будем только статический анализ — когда код не выполняется, а анализируется как текст.
🛠 Инструменты для анализа кода
• Detekt — статический анализатор Kotlin-кода. Работает быстро, так как проверяет файлы по отдельности, без учёта зависимостей между ними.
• KtLint — проверка стиля кода. Настроек немного, но работает с конфигом .editorconfig, что удобно для командной разработки.
• Android Lint — мощный инструмент для Android-проектов. Может анализировать разные типы исходников и проверять сразу несколько файлов по одному правилу.
⚠️ Запуск из Android Studio и через Gradle может иметь разные настройки. Полный контроль — через Gradle
• Compose Rules — правила для Detekt или KtLint, проверяющие соответствие best-practice работы с Compose.
• Compose Rules от Slack — набор правил для Android Lint (частично пересекается с предыдущим, но есть уникальные).
🔐 Безопасность:
• GitLeaks — поиск в коде секретов и данных, которые не должны попасть в репозиторий.
Можно смело комбинировать несколько линтеров. Лучше перебдеть, чем недопроверить.
🚀 Как запускать проверки
Я использую три уровня автоматизации:
1. Перед пушем кода — быстрые проверки (Detekt, KtLint) в pre-push hook.
⏱️ Цель — не больше 30 секунд, чтобы не раздражать разработчиков, но сразу отсеивать очевидные ошибки.
2. На CI/CD — полная проверка.
⏱️ Лимит — 10 минут. Обычно сюда входят все линтеры, кроме Android Lint, который может сильно замедлить процесс.
3. Ночные прогоны — расширенный Android Lint и тяжёлые правила, если в проекте были изменения.
🛠 Собственные правила
Стандартные линтеры могут покрыть только общие случае и правила, но если есть практики, которые надо форсировать для вашего кода то тут надо будет писать собственные правила. Для анализа Kotlin кода я пишу расширения для Detekt, а во всех остальных случаях - для Android Lint, но довольно редко.
📌 Бонус: AAR-библиотеки могут содержать свои Lint-правила, которые автоматически подключаются при их использовании.
💬 Делитесь в комментариях как вы следите за качеством вашего кода на регулярной основе и какие инструменты используете.
#android #compose #инструменты #ci
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47🔥8🆒3❤2
a) Написать фичу максимально быстро.
b) Обеспечить сопровождаемость и стабильность.
a) Культурой, процессами и инструментами для управления эволюцией ПО в масштабе.
b) Использованием особых языков.
a) Магия и удача.
b) Фундаментальные принципы проектирования, архитектуры и сопровождения.
a) В секретной документации.
b) В книге «Делай как в Google. Разработка ПО»! (гид по построению надежных систем)
Для кого: Мобильные разработчики, готовые перейти от кода к инженерному мастерству.
🎁 Промокод
broadcast
= скидка 25% на книгу и другие издания Питер!#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9👍6🤯1
В современных IDE есть простой поиск и замена по текстам, поиск по классам, рефакторинг кода. Иногда надо сделать рефакторинг кода сквозь весь проект на основе понимания стркуктуры кода. И это
Этот формат поиска позволяет вам вводить в переменные код, делать замены методов, классов и даже что-то сложнее.
Например, сегодня надо было поправить использование форматирования в коде:
// Было
String.format(“%s %s”, string1, string2)
// Стало
string1 + ' ' + string2
Пример того как сделана замена можете увидеть в картинках/видео к посту. Если хотите вдохновиться тем, какие возможности есть - посмотрите готовые примеры.
#idea
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍13❤4🤯2
Google продолжает прокачивать медиа API, и в этом релизе есть фичи, которые экономят время разработки и улучшают UX.
📺 ExoPlayer
👉 Плавная перемотка: новый ScrubbingMode делает скролл прогресс-бара без отрыва пальца супер-отзывчивым. Пользователь почувствует разницу.
👉 Встроенная видео-реклама: нативная поддержка Ads Interstitials в стриминге — меньше костылей.
👉 Длительность видео без проигрывания:
val duration = MetadataRetriever
.Builder(context, mediaItem)
.build()
.use { it.retrieveDurationUs().await() }
👉 PreCacheHelper — загрузка контента по частям для более быстрых стартов.
🎵 MediaSession
👉 Плеер в шторке не исчезает сразу после паузы — пользователю проще вернуться к просмотру.
✂️ Transformer API
👉 Экспериментальная обрезка видео через MP4 edit list.
👉 Опция CodecDbLite — ускоряет кодирование, подбирая оптимальные настройки под чипсет:
Transformer.Builder()
.setEncoderFactory(
DefaultEncoderFactory.Builder()
.setEnableCodecDbLite(true)
.build()
)
.build()
💡 Почему обновляться сейчас
👉 Меньше кастомного кода — больше нативных возможностей.
👉 Повышение отзывчивости плеера = выше удержание пользователей.
👉 Новые API для подготовки к интеграции рекламы и улучшенного UX.
Подробнее в анонсе или в changelog
#android #AndroidDev #Jetpack #Media3 #ExoPlayer
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers Blog
Media3 1.8.0 - What’s new?
Media3 1.8.0 release features a scrubbing mode in ExoPlayer, live streaming ad support with HLS interstitials, updated MetadataRetriever, and more.
👍34🔥13❤1
Media is too big
VIEW IN TELEGRAM
Виртуальная машина ART появилась в 5.0, а затем прошла огромную эволюцию и улучшается каждый релиз ОС. В новом видео рассказываю про то, как прокачали компиляцию кода приложения, что
Все видео для платных подписчиков можно найти тут
Если вам нравится что мы всей командой делаем для вас - ваше поддержка деньгами очень для нас важна.
#AndroidBroadcast #Android #AndroidDev #подкапотом
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤯4
После обновления моего Pixel 9 Pro заметил что в лаунчере отключили растягивание старого формата иконок приложения на весь его размер в лаунчере. Заметил, потому что банковское приложение, которым я пользовался перестало растягиваться 😞
Напомню, что Android иконки имеют свою историю и по хорошему надо поддерживать несколько форматов в зависимости от minSdk вашего приложения:
👉 Обычное лого (Android 7.0 и ниже)
👉 Круглое лого (Android 7.1)
👉 Адаптивное лого (Android 8.0)
👉 Themed лого (Android 13). Расширение формат Adaptive Icon из Android 8.0
Какое поведение на других стандартных лаунчерах приложения у смартфонов с Android 16 я не знаю, но можете скинуть скриншоты в комментариях.
#Android #Android16
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍23❤2
Главные новинки:
👉 Тени нового поколения — dropShadow() и innerShadow() дают больше контроля, чем классический shadow().
👉 LazyLayout — новый API предзагрузки и кэширования элементов для более плавного скролла.
👉 2D-прокрутка — Scrollable2D для таблиц, карт и больших изображений.
👉 Расширенный stack trace — имена composable и их позиции для отладки в stacktrace (только в debug).
👉 Новые аннотации — @RememberInComposition, @FrequentlyChangingValue и перенос @Stable в отдельный модуль.
Подробнее буду рассказывать в @compose_broadcast. Подписывайтесь!
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Android Developers Blog
What’s new in the Jetpack Compose August ’25 release
The Jetpack Compose 1.9 release introduces features like advanced shadow modifiers, new visibility modifiers, and enhanced rich styling capabilities.
🔥54👍5
Если ваше приложение поддерживает Android 5.0 и выше, то использовать новые версии библиотек уже не получится. Что можно сделать:
👉 Остаться на старых версиях
👉 Повысить minSdk до 23 или выше
👉 Поддерживать всё самостоятельно
Источник - Ian Lake из команды Android Jetpack
#android #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🤯12🔥11🤝2
Live Update уведомление - новый формат нотификаций для отслеживания прогресса операции, ограниченного по времени, в реальном времени: доставки, таймера, поездки на такси и другого.
Обычно все такие крутые фичи быстро приходят в приложение пиццы с птицей. Пока его не видел там, но очень очень жду. Да как и в такси. Разработчики, пожалуйста, расскажите ПМам, что теперь на Android можно как на iOS сделать
#android #android16
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍9❤2
Известно, что отдельные устройства под Android имеют собственные баги. Производители их не правят по разным причинам: закончилась поддержка, не хотят тратиться или предложили на форуме обход. Может просто идет долго доставка фикса до вашего устройства (всякое может быть)
Команда Android Jetpack сделала библиотеку core-backported-fixes, чтобы помочь разработчикам проверить состояния бага для текущего устройства 😂
Пример кода проверки issue KI_398591036 (проблема с цветом в фото на Pixel устройствах)
val fixManager = BackportedFixManager()
if (fixManager.isFixed(KnownIssues.KI_398591036)) {
Offer_experience_that_needs_fix()
} else {
Offer_experience_that_avoids_the_bug()
}
Все issue для проверки описаны в классе KnownIssues
#android #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯82👍7❤4🤔3🔥2🎉1🙏1🏆1
🔥 В Jetpack добавил Compat API для создания Progress Centric уведомлений (они же Live Updates)
Вышла Jetpack Core 1.17.0 Stable где появилось новое API для работы с уведомлениями
Вышла Jetpack Core 1.17.0 Stable где появилось новое API для работы с уведомлениями
// (Опционально) проверим, можно ли постить продвигаемые уведомления
// вернёт false, если пользователь выключил Live Updates
val notificationManager = NotificationManagerCompat.from(context)
val canPromote = notificationManager.canPostPromotedNotifications()
// Стиль ProgressStyle (сегменты/точки/иконки трекера)
val progressStyle = NotificationCompat.ProgressStyle()
.setStyledByProgress(false) // используем собственные сегменты/точки
.setProgress(600) // общая длина трека (произвольная метрика)
.setProgressTrackerIcon(IconCompat.createWithResource(context, R.drawable.ic_tracker))
.setProgressSegments(
listOf(
NotificationCompat.ProgressStyle.Segment(200).setColor(Color.GREEN),
NotificationCompat.ProgressStyle.Segment(250).setColor(Color.YELLOW),
NotificationCompat.ProgressStyle.Segment(150).setColor(Color.RED)
)
)
.setProgressPoints(
listOf(
NotificationCompat.ProgressStyle.Point(200).setColor(Color.DKGRAY),
NotificationCompat.ProgressStyle.Point(450).setColor(Color.DKGRAY)
)
)
val notification = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_delivery)
.setContentTitle("Доставка заказа") // обязательно для Live Update
.setContentText("Курьер в пути") // лаконично об этапe
.setOngoing(true) // обязательно: ongoing
.setOnlyAlertOnce(true)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setContentIntent(contentIntent)
.setStyle(progressStyle) // ProgressStyle из Jetpack Core
.setRequestPromotedOngoing(true) // ключ к Live Update
.setShortCriticalText("$etaMinutes мин") // текст в статус-чипе
.setWhen(etaWhenMillis) // для обратного отсчёта в чипе
.setShowWhen(false) // скрыть время в карточке, оставить чип
.build()
notificationManager.notify(NOTIF_ID, notification)
👍35🔥15❤1
🤯 Стабильная Android Studio каждый месяц. Но зачем...
В мае 2024 Android Studio перешла на более частые релизы, отделив поднятие версии IntelliJ Platform от разработки фичей. Спустя год релизы станут ещё чаще - каждый месяц нас будет ждать выход новой Stable версии. Изменения уже затронули Android Studio Narwhal, поэтому в Stable и в Canary сейчас находятся Feature Drop версии
В анонсе рассказали о причине повышения частоты релиза - пользователи жаловались, что приходится слишком долго ждать критический баг фикс или новых фичей для улучшения жизни 🤯
Google заверяет: "повышение частоты релизов не повлияет на качество". Это стало возможно, благодаря инвестициям в тестирование и инфраструктуру в течении долго времени.
Больше не будет Beta релиза, Canary сразу будет переходить в Release Candidate и затем в Release. Также останется Nightly.
Лично я уже не успеваю использовать все фичи из новых версий либо они заблокированы в Беларуси. Самое сложное - когда происходит изменение дизайна или места существуюших фичей.
А вам нужны такие частые обновления Android Studio? Делитесь в комментариях🔽
#android #androidstudio
В мае 2024 Android Studio перешла на более частые релизы, отделив поднятие версии IntelliJ Platform от разработки фичей. Спустя год релизы станут ещё чаще - каждый месяц нас будет ждать выход новой Stable версии. Изменения уже затронули Android Studio Narwhal, поэтому в Stable и в Canary сейчас находятся Feature Drop версии
В анонсе рассказали о причине повышения частоты релиза - пользователи жаловались, что приходится слишком долго ждать критический баг фикс или новых фичей для улучшения жизни 🤯
Google заверяет: "повышение частоты релизов не повлияет на качество". Это стало возможно, благодаря инвестициям в тестирование и инфраструктуру в течении долго времени.
Больше не будет Beta релиза, Canary сразу будет переходить в Release Candidate и затем в Release. Также останется Nightly.
Лично я уже не успеваю использовать все фичи из новых версий либо они заблокированы в Беларуси. Самое сложное - когда происходит изменение дизайна или места существуюших фичей.
А вам нужны такие частые обновления Android Studio? Делитесь в комментариях
#android #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯45👍12❤4
Android Device Streaming теперь позволяет проверить как ваше приложение будет работать на устройствах разных производителей: Samsung, Oppo, Xiaomi, Vivo, OnePlus. Это стало доступно благодаря Android Partner Device Labs, доступной в Android Studio Narwhal Feature Drop и новее.
30 минут бесплатно использования, а дальше по 0.15 USD за минуту
Подробнее в официальном анонсе
#android #androidstudio #firebase
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83🤯5👍3🎉2
☁️ Понедельник как пятница:
ощущение, что жизнь проходит мимо. Выходные сливаются в серую массу. Энергии ноль, мечты тускнеют.
💊 Ваше личное спасение – авторский тур от YouTravel.me!
🪂 Сломайте рутину за 48 часов: Туры выходного дня – ваш глоток воздуха! Проснетесь в тайге, на берегу озера, в старинном городе, но не в душной квартире.
🌊 Море зовет? Автор продумал идеальный пляж, солнце и атмосферу. Ваша задача – расслабиться.
🗺 По России или без визы: Выберите направление, где вас ждут скрытые тропы и живые истории от проводника-автора. Никаких толп – только ваша небольшая компания единомышленников!
🤯 Забудьте про стресс планирования: Проживание, питание, уникальные активности – всё включено и продумано за вас.
🛡 Поддержка 24/7: Чувствуй себя уверенно — команда всегда рядом.
🎁 Промокод
Выбери свой маршрут на YouTravel.me — и впусти в жизнь краски, о которых ты забыл!
#реклама
ощущение, что жизнь проходит мимо. Выходные сливаются в серую массу. Энергии ноль, мечты тускнеют.
💊 Ваше личное спасение – авторский тур от YouTravel.me!
🪂 Сломайте рутину за 48 часов: Туры выходного дня – ваш глоток воздуха! Проснетесь в тайге, на берегу озера, в старинном городе, но не в душной квартире.
🌊 Море зовет? Автор продумал идеальный пляж, солнце и атмосферу. Ваша задача – расслабиться.
🗺 По России или без визы: Выберите направление, где вас ждут скрытые тропы и живые истории от проводника-автора. Никаких толп – только ваша небольшая компания единомышленников!
🤯 Забудьте про стресс планирования: Проживание, питание, уникальные активности – всё включено и продумано за вас.
🛡 Поддержка 24/7: Чувствуй себя уверенно — команда всегда рядом.
BROADCAST
: -1000₽ на туры от 50 000₽! Выбери свой маршрут на YouTravel.me — и впусти в жизнь краски, о которых ты забыл!
#реклама
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
🤯 В Android 16 квоты на выполнение фоновой работы через JobScheduler (его обёрткой является WorkManager) привязали к механизму App Standby bucket. Также это коснется и DownloadManager
Теперь, то как регулярно вы пользуете приложением будет влиять на то как много фоновой работы можно будет выполнить. Подробнее про квоты можно читать тут.
Всё шлифуют систему, чтобы приоритизировать её на основании популярности приложения для пользователя. Я вообще не открываю часть приложений и рассчитываю, что они в фоне сделают работу, а сейчас лучше сразу наверняка идти в настройки и отключать ограничения на работу в фоне (спасибо, что не убрали совсем). И я как разработчик знаю про это. Как жить простым пользователям?
С одной стороны решение правильное - оптимизация идет с упором на интересны пользователя и сохранение батарейки, но с другой стороны разработчикам теперь надо больше объяснять алгоритм действий для включения ожидаемой пользователем работы всегда.
Что вы думаете про совершествование формата фоновой работы в Android? Делитесь своими болями и предложениями.
#android #android16
Теперь, то как регулярно вы пользуете приложением будет влиять на то как много фоновой работы можно будет выполнить. Подробнее про квоты можно читать тут.
Всё шлифуют систему, чтобы приоритизировать её на основании популярности приложения для пользователя. Я вообще не открываю часть приложений и рассчитываю, что они в фоне сделают работу, а сейчас лучше сразу наверняка идти в настройки и отключать ограничения на работу в фоне (спасибо, что не убрали совсем). И я как разработчик знаю про это. Как жить простым пользователям?
С одной стороны решение правильное - оптимизация идет с упором на интересны пользователя и сохранение батарейки, но с другой стороны разработчикам теперь надо больше объяснять алгоритм действий для включения ожидаемой пользователем работы всегда.
Что вы думаете про совершествование формата фоновой работы в Android? Делитесь своими болями и предложениями.
#android #android16
🤔45🤯16❤7👍4