我即将开始开发一个类似百科全书的应用程序,我希望我的对象 Item
包含主要图像以及用于画廊目的的其他图像列表。
我已经对如何在 Flutter 中存储图像进行了一些研究,但我很困惑 - 一些已回答的问题包括:
- Assets - 但访问、过滤、搜索等并不容易
- SQLite(Base64 编码/解码)- 加载和解码/编码图像对象列表时的性能问题
- 将文件保存在磁盘上 - 加载时间更长
所以问题是 - 在这种情况下最好的方法是什么?
非常感谢任何提示/技巧! :)
最佳答案
如果您将它们静态地与您的应用程序一起发布, Assets 将运行良好。过滤、搜索等应该不会太难。
是的,所有内容都将存储在一个文件中,这会产生一些开销,这会导致一些性能问题。
“将文件保存在磁盘上”以各种方式将文件保存在磁盘上,加载时间是不可避免的。您可能能够在后台加载图像,以便在用户导航到应显示图像的 View 时将它们保存在内存中。
如果它们是静态的,我会将它们存储为 Assets (在应用程序发布后不更改,或者仅在应用程序更新时更改)
您可以使用 SQLite 并维护一个包含图像元信息的表和一个包含图像文件名(以及路径,如果需要)的字段,以受益于 SQL 数据库的查询功能和最佳性能。
需要更多详细信息。
关于sqlite - Dart/Flutter - 保存大量图像文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54825670/