Android Broadcast
14.5K subscribers
3.73K photos
379 videos
11 files
6.18K links
Подборка новостей и статей для Android разработчиков.

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

РКН https://abdev.by/rkn_tg_ab #MQRZR
Download Telegram
#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
#Image #Native #Library

Spectrum by Facebook - cross-platform image transcoding library

Facebook делает много интересных проектов в Open Source, либо открывает те которыми ужа давно пользуются. Spectrum - один из таких проектов. Библиотека позволяет выполнять основные операции с изображениями в форматах JPG, PNG и WEBP:
👉 Encoding - сохранение Bitmap на диск
👉 Transcoding - конвертирование одного формата изображений в другой
👉 Decoding - считывание Bitmap из закодированной картинки
👉 Transforming - выполнение базовых преобразований изображений: поворот, изменений размера, обрезка.

Библиотека отличается тем что:
👍 лучше оптимизирует картинку при сохранение на диск
👍 при групповом выполнение операций оптимизирует их
👍 все операции выполняются за рамками Java Heap, что позволяет эффективнее использовать память на Android

Spectrum GitHub
#Debug #Native

Debugging Native Crashes in Android Apps

По статистике на декабрь 2018 года 100 самых популярных приложений были установлены 54 миллиарда раз из 85 из них содержат нативный код.

Хотите сделать конкурента таким приложением или статью часть их команды? Без знания C/C++ уже не обойтись с ростом навыков, но любому разработчику будет полезно знать как дебажить такой код.

В статье вы найдете руководство с чего начать поиск проблемы, когда ваше приложение падает на уровне нативного кода.
👍1
#Kotlin #Native #KotlinNative #MemoryModel

Исследование модели памяти в Kotlin/Native

В JetBrains стартанули новое исследование, в этот раз – про то, насколько понятны различные аспекты работы с моделью памяти в Kotlin/Native. В опросе – 10 примеров кода, для каждого из которых нужно ответить на два вопроса – согласны ли вы с результатом выполнения кода и понимаете ли, почему он работает именно так. Мы ждем ответов и от опытных пользователей, и от новичков.
Ваше участие сильно поможет сделать Kotlin/Native и Kotlin MPP в понимании текущих проблем и поиске решений для них.
#AndroidStudio #Native

Native Dependencies in Android Studio 4.0

Чтобы упростить жизнь разработчикам нативных библиотек Google внедряет возможность подключения нативных зависимостей аналогично тому как это делается с AAR.

Функционал пока экспериментальный и требует включения специальных флагов.

Особенности работы и как опубликовать свою библиотеку вы найдёте в статье
#Kotlin #Native

Kotlin/Native Memory Management Roadmap

В Kotlin/Native изменится модель управления памятью, чтобы избавиться от ограничений, которые сейчас накладываются на параллельное программирование. Изменения пока еще находятся на стадии проектирования и текущая модель останется работать.
📺 Keep your app from failing in a 64-bit only world ( 8 мин)

Интересное видео которое раскрывает будущее Android. Устройства с поддержкой только x64 - это наше будущее! Называться будут "64-bit only"

Почему:
👉 Легче прошивка
👉 Чуть меньше потребления RAM
👉 Заставляет авторов библиотек пофиксить баги для корректной работы с x64 устройствами
👉 x64 лучше по безопасности

Что уже готово для этого
👉 Pixel 7 и 7 Pro первые такие устройства. В ближайшем будущем их будет только больше
👉 Все эмуляторы с Android 12 и новее будут только x64
👉 Авторы популярных нативных библиотек (SoLoader, OpenSSL и другие) внесли правки и вам пора обновиться
👉 Google Play Console будет проверять подключенные либы и говорить о необходимости обновления
👉 Специальные образы для Pixel 4 с поддержкой только x64 и новее скоро станут доступны
👉 Руководства как проверить работу вашего приложения на x64-only устройствах

Делитесь в комментариях своим мнение касательно этого тренда и читайте мое там тоже

#native #androiddevsummit
👍19👎1😁1🤔1
Android Broadcast
📹 Собеседование на Kotlin Multiplatform разработчика 🎙 Проводит — Алексей Панов @kotlin_adept 🗓 Понедельник, 20 октября, 19:00 (GMT+3) Kotlin Multiplatform (KMP) набирает всё большую популярность — растёт количество вакансий и интерес со стороны компаний.…
🏝 Леша Панов @kotlin_adept поделился материалами для углублённого изучения KMP, которые помогут вам глубже разобраться в принципах работы Kotlin Multiplatform и Kotlin Native, а также лучше понять нюансы интеропа со Swift-кодом.

❗️ Подробности в канале Леши

#kmp #swift #native
Please open Telegram to view this post
VIEW IN TELEGRAM
👍236🔥5🤔1
🤖 Google ускорила ядро Android, скормив компилятору профили реального использования

Команда LLVM toolchain в Google рассказала, как они применили AutoFDO (Automatic Feedback-Directed Optimization) к ядру Android — и результаты интересные.

Идея простая: обычный компилятор принимает решения об оптимизациях на основе статических эвристик. Встроить функцию или нет, какая ветка условия чаще выполняется — всё это угадывается без реальных данных из приложений и пользовательских сценариев. AutoFDO меняет подход: компилятор получает профили реального выполнения кода и на их основе принимает куда более точные решения.

Эта техника Google уже давно применяется к своей серверной инфраструктуре и ChromeOS, так что подход обкатанный и зарекомендовавший себя.

Кто знаком с ART Profiles — идея покажется знакомой. Там тот же принцип: собираем данные о реальном выполнении, отдаём компилятору, получаем более точный нативный код. Только ART Profiles работают на уровне ART для Java/Kotlin-кода конкретного приложения, а AutoFDO — на уровне ядра, C/C++ и LLVM. Разные слои, одна философия.

Для ядра профили собирают не с реальных устройств, а в лабораторных условиях: запускают топ-100 самых популярных приложений, используют simpleperf и аппаратные возможности ARM для записи истории ветвлений. Собранные данные показывают 85% совпадение с профилями реального парка устройств — этого достаточно, чтобы считать подход рабочим.

Результаты на ядрах 6.1, 6.6 и 6.12:
👉 холодный старт приложений стал быстрее на ~4%
👉 время загрузки сократилось на ~1%
👉 ядро занимает ~40% CPU-времени на Android, так что любая оптимизация здесь ощутима

Важный момент: AutoFDO не меняет логику кода, только влияет на решения компилятора — инлайнинг, раскладку кода. Функции, которые не попали в профили («холодные»), компилируются стандартным образом, без изменений.

Сейчас это уже в проде — профили включены в ветки android15-6.6 и android16-6.12, так что устройства на этих ядрах уже собираются с AutoFDO. Pixel-устройства точно попадают в эту категорию. С другими производителями сложнее: многие используют сильно модифицированное ядро и не переходят на GKI из AOSP, так что там это может быть не применено вовсе. В планах — GKI-модули, вендорные модули через DDK и поддержка новых версий ядра.

🔗 Источник - блог Android Developers

#Android #AndroidDev #Производительность #LLVM #Native
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49👍86👎4