Android Broadcast
14.2K subscribers
3.49K photos
334 videos
11 files
5.85K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#JSON #Performance

Beyond Gson — Evaluating JSON Parsers for Android & Kotlin

Какой JSON парсер самый быстрый? Задумывались ли вы об этом? Я думаю что значительная часть подписчиков канала используют GSON в качестве парсера, возможно даже и не зная этого.

Что не так с GSON? Он не поддерживает Kotlin из коробки (например nullability), который является основным языком для Android разработки.

В статье сравниваются различные парсеры и как можно мигрировать на них. Результаты сравнения по тестам производительности следующий:
1️⃣ Moshi 🏆
2️⃣ kotlinx.serialization (в процессе разработке, но уже стабильна)
3️⃣ GSON
4️⃣ Jackson

Первые два парсера смогли оторваться за счет того что не используют рефлексию
#json

Custom Reactive JSON parsing

К сожалению, kotlinx serialization поддерживает парсинг JSON только из строк, что означает прежде чем начать парсить что-то, вам надо полностью считать все данные. И тут может произойти неприятное - OutOfMemoryError.

Автор статьи рассказывает как на основе своей библиотеки json.kt добавил стриминговый парсинг JSON
#json

How Trello Android converted from Gson to Moshi

В Trello отказались от Gson в пользу Moshi для работы с Json т.к. Gson не понимает Kotlin и медленее. Также Moshi позволил сделать код стабильнее из-за быстрого выявления проблем с парсингом null.

Как пройти процесс миграции безопасно вы найдёте статье
История(12м) как в Альфа-Банке сокращали размер JSON файла, который передается на устройство для работы SDUI. Решением стала шаблонизация для отказа от одинаковых блоков UI с разными данными

#оптимизация #json
👎19👍8🤯3