Android Saved
4 subscribers
62 photos
2 files
32 links
Download Telegram
Forwarded from Android Broadcast
​#Kotlin #Coroutines #Flow

Instant Search with Kotlin Coroutines

В продолжение темы работы с Coroutine Flow - в статье разбирается задача организации поиска «на лету» (по мере ввода) в UI для Android на основе Flow.
Forwarded from Android Live 🤖
​​Android Coroutine Recipes
#разработка #статьи #опрос

Уверен, что многие используют Kotlin в своих проектах. Сегодня нет веских причин для того, чтобы писать новые проекты на Java. И я рад, что большинство разработчиков считает так же. Но про способ выполнения асинхронных операций — нет такого четкого мнения.

Coroutines использует далеко не каждый проект, во многих до сих пор используется RxJava по нескольким причинам.

Во-первых, из-за легаси кода в проекте. Ведь много проектов переписывалось с Java, и средство для выполнения асинхронных операций используется то же самое.

Во-вторых, страх использования нового инструмента в большом проекте или отсутствие знаний о нем.
А для того, чтобы пополнить ваши знания о coroutines, предлагаю к прочтению две интересные статьи.

В этой статье можно прочитать про то, как наилучшим образом использовать coroutines. Кратко, емко и с примерами кода.

Тут описаны самые частые ошибки при использовании coroutines. Ненужные async/await, suspend со скрытым dispatcher и несколько других. Все также с примерами и по делу.

А что используется у вас в проекте?
Forwarded from Android Broadcast
​#Splash #Coroutines

A Guide on Splash Screen in Android in 2020

Экран-заставка (Splash Screen) довольно часто явление в мобильных приложениях. Цели его разные:
👉 Красивое интро в приложение
👉 Начальная Activity приложения определяется динамически
👉 Быстры рендеринг просто экрана, пока идет инициализация приложения (холодный старт)
👉 Комбинация описанных выше пунктов 😁

В статье рассматриваются рекомендации по созданию Splash Screen:
👉 Использование android:windowBackground для задания фона экрана
👉 Как правильно отсчитывать время до закрытия Splash Screen: Handler / Timer / Coroutines
The onDraw() method is called every time the screen refreshes, which can be many times a second. For performance reasons and to avoid visual glitches, you should do as little work as possible in onDraw(). In particular, don't place allocations in onDraw(), because allocations may lead to a garbage collection that may cause a visual stutter.
Forwarded from Android frameworks
Pokedex

🗡️ Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture.


https://github.com/skydoves/Pokedex

#Hilt #Coroutines #Flow #Jetpack #Material #MVVM
Краткая дока по командам в adb shell
https://adbshell.com/commands

Нашел там, что у adb shell top есть офигенный флаг -H, который позволяет показывать потоки приложений
Особенная крутость этого способа в том, что он позволяет профилировать приложение на релизных сборках. Но, конечно, по методам он не распишет.
Так выглядит метод, которым я получил эту стату:
adb shell top -s 9 -H -u u0_a302 -d 5

-s 9 - сортировка по 9ой колонке (по процессору)
-H - тот самый офигенный флаг для вывода потоков
-u u0_a302 - выводить потоки только юзера u0_a302, который является нашим приложением (требуется подобрать вручную)
-d 5 - задержка в 5 секунд
adb shell top

он тебе покажет список всех процессов, тебе нужен user твоего приложения


в крайней правой колонке пакеты приложений


во второй слева - имена юзеров, которым linux назначает установленные приложения, чтобы одно приложение не имело возможности ковыряться в другом. Ну типа одно приложение - один linux user