Кросс-платформенный файловый кеш во Flutter

В приложении Flutter я хотел бы реализовать кеш для ресурсов (изображений, видео и т. Д.), Размещенных в Интернете.

Я ожидал, что он будет работать на собственных платформах (Android / iOS) (например, с использованием файловой системы), а также в Интернете (например, с использованием IndexedDB).

Flutter Cache Manager не работает в Интернете. И dart: indexed_db не работает " t работает на Android / iOS.

Есть ли какой-нибудь плагин, который подошел бы для этой цели?


person sdabet    schedule 23.12.2019    source источник
comment
Подойдут ли они вашей цели? simple_cache или flutter_cached   -  person Benjamin    schedule 23.12.2019
comment
@Benjamin Действительно ли flutter_cached обрабатывает постоянство кеша? Похоже, что действительно нужно реализовать это самостоятельно.   -  person sdabet    schedule 23.12.2019
comment
Реализация этого не повредит, особенно с таким плагином, как localstorage. Я думаю, что это лучшее, что вы получите, если хотите многоплатформенную совместимость.   -  person Benjamin    schedule 23.12.2019
comment
@Benjamin localstorage кажется мне подходит. Вы знаете, как он хранит данные на Android?   -  person sdabet    schedule 23.12.2019
comment
Глядя на источник, кажется, что он делает это просто путем создания файла с dart:io.   -  person Benjamin    schedule 23.12.2019


Ответы (1)


Наконец, я реализовал этот кеш с помощью библиотеки async_resource, используя ServiceWorkerResource в Интернете и HttpNetworkResource + FileResource на собственных платформах.

person sdabet    schedule 08.01.2020