🧹Hamma uchun tarixni tozalash
– Android uchun Telegram’ning beta-versiyasida endi siz nafaqat o‘zingiz, balki barcha ishtirokchilar uchun guruh suhbati tarixini tozalashingiz mumkin.
Xabarlarni hamma uchun tozalash imkoniyati faqat guruh egasi uchun mavjud. Eslatma: biz xozirda chat tarixini tozalash uchun turli botlardan foydalanamiz.
Ushbu imkoniyat faqat superguruhlarda ishlaydi va tez kunda Telegramga qo'shilishi kutilmoqda.
#Android#beta
💚@TGraphUz | YouTube
🤖Запустить Linux Desktop на Android вполне реально и понятно как. Проект Local Desktop позволит вам это сделать. Запуск происходит через виртуализацию, доступную на Android 16.
На скриншоте к посту Linux, запущенный на Pixel Tablet.
#Android#Linux
🤖Статья (5м) в формате расследования как происходит остановка приложения из-за крэша и где возникает это.
Из статьи узнаете про:
👉 UncaughtExceptionHandler
👉 ActivityThread
👉 Как происходит остановка процесса
#android#подкапотом
🤖Как создаются, управляются и восстанавливаются процессы приложений в Android (10м)
Разбор ключевых системных компонентов Android (Zygote, SystemServer, AMS, Binder) и как происходит процесс восстановления состояния через Bundle.
#android#подкапотом
📺Accelerating Android Releases: An Unofficial Guide to Trunk Stable
Хотите быть в курсе последних возможностей Android и внедрять их в свои проекты? В этом видео бывший сотрудник Google и член команды Android расскажет о Trunk Stable – новой квартальной модели релизов Android.
Разберём:
👉 зачем потребовались изменения, чтобы повысить качество и ускорить релизы;
👉 как это связано с новыми регуляторными требованиями;
👉 что такое next, trunk_food и trunk_staging;
👉 как определять фичи, проводить A/B-тесты и работать с фиче-флагами через aconfig;
👉 Как ребейзить изменения и синхронизировать проекты с последними обновлениями Android.
#android#androidos
🤖Project Mainline - важная веха в развитии Android и монополизации ОС компанией Google
До Android 10 фреймворк ОС был монолитным и любое изменение приводили к необходимости раздачи новой версии вендором.
Google выделила во фреймворке (и продолжает делать) компоненты и теперь может обновлять их независимо. Делать это может вендор или приложение с высокими системными правами, например Google Play Services.
Благодаря изменению, теперь не нужно ждать новой версии прошивки от вендора, а вы получите новую версию компонентов и даже портирование новых API из более поздних версий ОС. Так например было с Photo Picker, который появился в Android 14, но его перенесли и на Android 12+, благодаря тому что был сделан модуль медиа, частью которого и есть Photo Picker.
Более подробно читайте в документации
#androidos#android
🤖Лимиты памяти в Android: как они работают и можно ли их обойти?
В Android каждому приложению выделяется ограниченный объем оперативной памяти и это может стать неожиданной проблемой для разработчиков. Разберём, какие лимиты существуют и как на них можно повлиять.
Какие есть лимиты?
1. Heap Size (размер кучи) для кода, исполняющегося в JVM
- Android ограничивает объём памяти, доступный одному процессу (приложение может иметь их несколько).
- Лимит зависит от устройства: размера его оперативной памяти, разрешения и размера экрана, версии ОС и прочих характеристик.
- Узнать доступный объём можно так:
val maxMemoryMb = Runtime.getRuntime().maxMemory() / (1024 * 1024)
Log.d("MemoryInfo", "Max heap size: ${maxMemory}MB")
2. Large Heap Mode
- Можно попросить систему выделить больше памяти через задание в в AndroidManifest android:largeHeap="true", но увеличение не гарантируется. Узнать доступный размер можно так:
val activityManager = getSystemService<ActivityManager>()
val largeMemoryClass = activityManager.largeMemoryClass
Log.d("MemoryInfo", "Large Heap: ${largeMemoryClass}MB")
Для Pixel 9 Pro XL с 16 Гб оперативной памяти стандартный лимит - 512 Мб, а c флагом large heap - 1 Гб. Google Play никак не ограничивает вас в выставлении этого флага и сможете смело опубликоваться, но использовать опцию без явной причины не стоит!
Как можно использовать больше памяти?
✅Запуск нескольких процессов
Каждый процесс имеет свой heap limit. Можно вынести часть логики в сервис с android:process=":extra_process". Каждый Android компонент связан с определённым процессом и динамически из кода создать/задать не получится.
✅NDK (Native Code, C++)
Обход heap-лимитов возможен через выделение памяти в C++:
void* bigMemory = malloc(500 * 1024 * 1024); // 500MB
Но при этом важен контроль утечек памяти.
✅Перенос части нагрузки на видеопамять
Можно использовать GPU для хранения и обработки данных, например:
- Текстуры и буферы в OpenGL/Vulkan
GLuint buffer;
glGenBuffers(1, &buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, size, data, GL_STATIC_DRAW);
- Аппаратное декодирование видео через MediaCodec
val decoder = MediaCodec.createDecoderByType("video/avc")
- Использование Hardware Bitmaps для рендеринга изображений
val options = BitmapFactory.Options().apply { inPreferredConfig = Bitmap.Config.HARDWARE }
val bitmap = BitmapFactory.decodeResource(resources, R.drawable.image, options)
❌Злоупотребление Large Heap
Запрос большого heap-а не даёт гарантий – Android всё равно ограничит память при нехватке ресурсов. Некоторые производители вовсе игнорируют этот флаг из манифеста
#android#подкапотом
🤖ServerSocket для IPC в Android и примеры межпроцессного взаимодействия (6 мин)
Разработчик решил разобраться, как организовать общение между браузером и Android-приложением для передачи данных. В поисках удобного решения он обратил внимание на ServerSocket — простой и гибкий способ локального взаимодействия без лишних сложностей. Что из этого вышло, читайте в статье.
Практическое применение статья будет иметь для малого количества разработчиков, но для лучшего понимания Android ОС и работы её принципов однозначно сделает вас сильнее.
#android#подкапотом
- - Piwigo NG
(Piwigo New Generation)
Is a new version of the Piwigo native #Android application for the free and open source photo hosting platform Piwigo. With this app you can browse you self-hosted gallery and upload photos from your smart device.
GitHub - Piwigo/piwigo-flutter-app: Piwigo mobile application for Android – https://github.com/Piwigo/piwigo-flutter-app
Piwigo - Open source photo management software – https://piwigo.org/
#Piwigo#PiwigoNG#Photos
#selfhosting