Flutter: кэширует ли Firebase Storage мои изображения?

В моем приложении Flutter у меня есть страницы с несколькими изображениями профилей пользователей. Иногда 20 одинаковых изображений профиля пользователя. Для каждого изображения я получаю URL-адрес загрузки из хранилища Firebase и использую FadeInImage. Будет ли Firebase Storage считать каждое изображение загрузкой или изображения будут сохраняться в кеше и автоматически повторно использоваться?

Другими словами, должен ли я сам беспокоиться о сохранении изображений в кэше, чтобы уменьшить количество загрузок и затраты, или Firebase сделает это за меня?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
53
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

мне нужно беспокоиться о сохранении изображений в кэше, чтобы уменьшить количество загрузок, или Firebase сделает это за меня?

Если вы читаете файлы из хранилища, это не означает, что они будут автоматически кэшироваться на вашем устройстве.

Чтобы решить эту проблему, вам нужно найти решение для кэширования, поэтому вам не нужно использовать пропускную способность каждый раз, когда вы показываете изображение. Для Flutter я рекомендую вам проверить принятый ответ из следующего сообщения:

Я не могу найти никакой документации, которая в настоящее время показывает какие-либо кэшированные данные, но у флаттера есть множество библиотек, которые могут помочь с этим, я лично использую расширенную библиотеку изображений https://pub.dev/packages/extended_image, которая может кэшировать любые изображение получено в сети с помощью очень простого кода.

Вы пытаетесь снизить затраты на пропускную способность для хранилища Firebase или для пользователей, чтобы им не приходилось каждый раз загружать одни и те же изображения? Если для пользователей, то вам придется кэшировать их самостоятельно и писать собственную логику для очистки файлов по мере необходимости.

В качестве альтернативы рассмотрите возможность использования Cloud CDN , где плата за исходящий трафик ниже по сравнению с хранилищем Firebase, а также значительно ускорит скорость загрузки для конечных пользователей. Также будет полезно очистить кеш программно с помощью Cloud Functions/backend, когда пользователь обновляет изображение своего профиля.

Также см. Хранилище Firebase очень медленно загружается.

Другие вопросы по теме