Золотовский Михаил Витальевич

Оптимизация хранения задач в Room при больших объёмах данных

Авторы: М.В. Золотовский

Источник: Сборник материалов V Международной конференции молодых учёных «Young scientists researches and achievements in science», 2025.


Аннотация

Исследованы подходы к работе с локальной базой данных при 5000+ задачах: пагинация через Paging 3, индексация, оптимизация запросов. Приведены замеры производительности и потребления памяти. Разработаны стратегии миграции схемы и backup/restore через Google Drive API.

Ключевые слова

Room, Paging 3, Flow, SQLite, производительность, Android

Введение

Современные таск-менеджеры часто работают с тысячами задач. Приложение должно оставаться отзывчивым даже при большом объёме данных. Библиотека Room предоставляет мощные инструменты, но без правильной настройки приводит к задержкам и утечкам памяти.

Проблемы и решения

Без пагинации список из 5000 задач загружается за 2,3 секунды. С Paging 3 + Flow время сокращается до 47 мс. Использование индексов на поля priority, due_date и status ускорило сортировку в 6 раз.

Результаты тестирования

Тесты на Pixel 8 (Android 14):
• Время первой загрузки: 47 мс (было 2300 мс)
• Память: 38 МБ (было 112 МБ)
• CPU при прокрутке: < 5 % (было 28 %)

Заключение

Правильная настройка Room с Paging 3 и Flow позволяет создавать высокопроизводительные офлайн-приложения даже при больших объёмах данных.

← Вернуться к списку публикаций