Flutter Web应用清理缓存

前言

应用清理缓存是一个常见的功能,在移动端清理缓存这个行为比较常见,但是游览器web应用清理缓存并不常见,很多人都不会特地去清理,与之相关的,flutter的web应用清理缓存的资料网上比较少,本文进行一些探讨

正文

要清理缓存,首先要知道缓存是如何产生的,然后再针对这个产生方式做缓存清理

LocalStorage

LocalStorage是Web存储API的一部分,允许网站在用户的浏览器中存储键值对数据,每个键和值都是字符串类型

LocalStorage的数据存储在用户的设备上,不会随着浏览会话结束而被清除

  • 大多数浏览器为LocalStorage设置了约5MB的容量限制
  • LocalStorage的操作是同步的,这意味着大量数据操作可能会阻塞主线程

同时实际上,flutter的SharedPreferences在web端就是由此实现

清理方式如下

import 'dart:html' as html;

void clearLocalStorage() {
  html.window.localStorage.clear();
}

IndexedDB

IndexedDB是一个复杂、强大的客户端存储解决方案,支持在用户浏览器中存储大量结构化数据,允许创建、读取、导航和写入数据库的对象存储,支持事务、索引、游标等数据库概念

  • 相比LocalStorage,IndexedDB提供了更大的存储空间。
  • IndexedDB的操作都是异步的,不会阻塞用户界面
  • 可以存储诸如文件、Blob、ArrayBuffer等复杂数据类型

清理方式

import 'dart:indexed_db' as idb;
import 'dart:html' as html;

Future<void> deleteIndexedDB(String dbName) async {
  try {
    await html.window.indexedDB!.deleteDatabase(dbName);
  } catch (e) {

  }
}

Service Worker

Service Worker是一种在浏览器背后运行的脚本,可以用来拦截和处理网络请求,允许控制页面的缓存,并在没有网络连接时提供内容

  • Service Worker有自己的生命周期,独立于Web页面
  • 支持在后台同步数据,即使用户已经关闭了页面
  • 可以接收来自服务器的推送通知,即使Web应用没有打开

需要根据具体的代码制定具体清理策略,给其发送消息执行清理逻辑

相关推荐

  1. Flutter Web应用清理缓存

    2024-02-12 07:20:02       34 阅读
  2. nginx如何清理页面缓存

    2024-02-12 07:20:02       14 阅读
  3. Vue 打包自动清理缓存

    2024-02-12 07:20:02       13 阅读
  4. redis清理缓存接口开发

    2024-02-12 07:20:02       16 阅读
  5. 清理 Conda 和 pip 缓存

    2024-02-12 07:20:02       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-12 07:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-12 07:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-12 07:20:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-12 07:20:02       20 阅读

热门阅读

  1. sync.Map底层简记

    2024-02-12 07:20:02       26 阅读
  2. django中的缓存功能

    2024-02-12 07:20:02       33 阅读
  3. RequestAndResponse(个人简陋笔记)

    2024-02-12 07:20:02       25 阅读
  4. 神经语言程式(NLP)项目的15 个开源训练数据集

    2024-02-12 07:20:02       38 阅读
  5. 设计模式-观察者模式 Observer

    2024-02-12 07:20:02       25 阅读
  6. Python语言例题集(003)

    2024-02-12 07:20:02       30 阅读