Разработка кеша, совместимого с firebase - PullRequest
0 голосов
/ 27 апреля 2018

В своем проекте я использую базу данных Firebase Realtime и Firebase Storage. Результаты из базы данных получают кэш, а информация из Firebase Storage - нет. Я хотел бы создать кеш-систему, совместимую с базой данных в реальном времени, чтобы части базы данных, которые являются ссылками на файлы, хранящиеся в Firebase Storage, создавали кэшированный файл из URL-адреса, который содержит ссылка на базу данных. Как бы я поступил именно так?

1 Ответ

0 голосов
/ 27 апреля 2018

Firebase SDK для облачного хранилища изначально не поддерживает автономный доступ. Но я определенно рекомендую использовать библиотеку с именем Glide для Android для загрузки и отображения изображений. У вас будет поддержка автономного дискового кэша, но это не является частью основного Android SDK для облачного хранилища.

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

Вы также можете настроить размеры кэшей . Вот что говорит документация о размере дискового кэша по умолчанию:

Фабрика внутреннего кэша помещает дисковый кэш в каталог внутреннего кэша вашего приложения и устанавливает максимальный размер 250 МБ.

А для кеша памяти:

Размеры по умолчанию определяются классом MemorySizeCalculator. Класс MemorySizeCalculator учитывает размер памяти, доступной памяти данного устройства, чтобы иметь разумные размеры по умолчанию.

...