【问题标题】:Cross-platform file cache in FlutterFlutter 中的跨平台文件缓存
【发布时间】:2020-04-14 19:23:00
【问题描述】:

在 Flutter 应用程序中,我想为在线托管的资源(图像、视频等)实现缓存。

我希望它可以在原生平台 (Android/iOS)(例如使用文件系统)和网络(例如使用 IndexedDB)上运行。

Flutter Cache Manager 在网络上不起作用。而dart:indexed_db 不适用于 Android/iOS。

有没有适合这个目的的插件?

【问题讨论】:

  • 这些能达到您的目的吗? simple_cacheflutter_cached
  • @Benjamin flutter_cached 实际上处理缓存持久性吗?看来你真的需要自己实现。
  • 实现它不会有什么坏处,尤其是使用像 localstorage 这样的插件。如果您想要多平台兼容性,我认为这是最好的选择。
  • @Benjamin localstorage 似乎符合我的需要。你知道它是如何在 Android 上存储数据的吗?
  • 看源码,好像只要用dart:io创建一个文件就可以了。

标签: flutter flutter-web


【解决方案1】:

我最终使用async_resource 库实现了这个缓存,在Web 上使用ServiceWorkerResource,在本机平台上使用HttpNetworkResource + FileResource

【讨论】:

  • 嗨,你能分享一下你的实现吗?
猜你喜欢
  • 2011-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 2014-10-15
  • 1970-01-01
相关资源
最近更新 更多