Pull to refresh
25
2
Александр @Yoto

Android Разработчик

Send message

Автотрекинг производительности Room Database

Level of difficultyHard
Reading time12 min
Views1.5K

Room (абстракция над SQLite) — одна из основных технологий, используемая почти во всех Android-приложениях для кэширования данных, оффлайновости, как cross-process хранилище данных и тому подобное.

При этом скорость работы приложения обычно напрямую зависит от скорости работы с БД, особенно если речь идет о холодном старте, когда все данные хранятся в кэше (в БД).

Встает вопрос: “А не является ли сама работа с БД узким местом скорости старта приложения?

В Wildberries это особенно актуально, так как приложение построено на парадигме offline-first, когда почти вся информация кэшируется в БД, чтобы приложение работало даже с медленным интернетом или без него.

Для ответа на этот вопрос в статье разберем рантайм реализацию автоматического трекинга скорости выполнения запросов и транзакций в Room Database на основе Java Dynamic Proxy.

Читать далее
Total votes 6: ↑6 and ↓0+9
Comments0

Information

Rating
1,298-th
Location
Красноярск, Красноярский край, Россия
Registered
Activity

Specialization

Mobile Application Developer
Lead
Android development
Performance