SharedPreferences:
优点:使用简单,轻量级,适用于少量数据的缓存;缺点:不适合存储大型、结构化、复杂的数据;
SQLite:
优点:可以存储大量、结构化、复杂的数据,支持复杂的数据查询操作;缺点:比较复杂,需要学习 SQL 和数据库操作;
Hive:
优点:快速、可扩展,性能较好,适用于存储大量数据;缺点:不支持复杂的数据关系和查询操作;
Filesystem:
优点:可用于存储大文件或二进制数据,如图片和音频文件;缺点:需要自己处理文件读写操作;
Memory Cache:
优点:速度快,比较灵活,适用于需要快速访问的数据;缺点:可存储的数据大小会受到内存大小的影响。
如果场景比较简单,数据量比较小,则应该选择 SharedPreferences;如果数据量比较大且需要具有查询和管理功能,则 SQLite 和 Hive 两种方式都可以考虑使用;如果需要存储大数量的文件(如图片和音频文件),则应该选择 Filesystem。
如果需要快速访问的数据,则可以使用 Memory Cache,在内存中建立一个缓存,这样可以提高缓存访问的速度。
flutter_secure_storage:
优点:自动清除缓存:当应用程序关闭或卸载时,flutter_secure_storage
会自动清除存储的数据,不需要开发人员手动处理;因此数据是加密的,即使设备被破解或者遭受恶意攻击,也很难解密数据;
SharedPreferences:
//1、导入SharedPreferences依赖库 dependencies: shared_preferences: ^2.0.6 //2、实例化SharedPreferences对象 import 'package:shared_preferences/shared_preferences.dart'; SharedPreferences prefs = await SharedPreferences.getInstance(); //3、存储数据 // 存储字符串 prefs.setString(key, value); // 存储布尔值 prefs.setBool(key, value); // 存储整数 prefs.setInt(key, value); // 存储双精度浮点数 prefs.setDouble(key, value); // 存储字符串列表 prefs.setStringList(key, value); //4、获取数据 // 获取字符串 String stringValue = prefs.getString(key); // 获取布尔值 bool boolValue = prefs.getBool(key); // 获取整数 int intValue = prefs.getInt(key); // 获取双精度浮点数 double doubleValue = prefs.getDouble(key); // 获取字符串列表 List<String> stringListValue = prefs.getStringList(key); //5、删除数据 // 删除指定键的数据 prefs.remove(key); // 删除所有数据 prefs.clear();
SQLite:
Hive:
Filesystem:
Memory Cache:
标签:常用,SharedPreferences,存储,value,缓存数据,key,prefs,数据,Flutter From: https://www.cnblogs.com/xbinbin/p/17896182.html