何时在 Flutter 中使用资产

When to use assets in Flutter

在 Flutter 中使用资产的最佳方式是什么,例如,如果我有一个用于应用程序配置的文件,我是否应该通过使用 path_provider 插件获取应用程序目录来存储该文件——而不使用资产——并存储它?,或者我应该将文件添加到我的程序文件夹-将文件添加到我的资产-?

如果我有一个小型 Sqlite 数据库,同样的问题。

这些方法中哪种更快,哪种更安全?

资产是您在开发过程中添加到应用程序中的文件。您可以使用 rootBundle.load()rootBundle.loadString() 加载它们,但不能修改或删除它们。

在应用程序的目录中,您可以存储应用程序在 运行 时从互联网下载或生成的任何文件。然后可以打开、删除、修改等这些文件。要访问您的应用程序目录,您需要包 path_provider,它会告诉您应用程序文件夹的路径。

app目录下一般存放一个sqlite数据库。示例包将在此处 sqflite.

为了速度和安全,我无能为力。应用程序目录被设计成只有应用程序可以访问它。资产是应用程序的一部分,应用程序文件理论上可以被任何人解包。所以我至少不会在资产里面存秘密的东西。

好吧,如果应用配置是指用户的设置,您可以使用 Sqlite、SharedPreferences 或 Hive(Hive 显示的基准表明它比 SharedPreferences 更快)。

我认为assets文件夹是用来存放应用程序的一些常用文件的,比如图片,图标,字体等。我认为不建议存放带有某种配置文件的文件,主要是有关应用配置的重要信息。