Flutter开发App的未来及其在各行业的应用潜力分析
322
2024-06-30
本地文件指的是小程序被用户添加到手机后,会有一块独立的文件存储区域,
本地文件的文件路径均为以下格式:
{{协议名}}://文件路径 已复制代码
本地临时文件只能通过调用特定接口产生,不能直接写入内容。本地临时文件产生后,仅在当前生命周期内保证有效,重启之后不一定可用。如果需要保证在下次启动时无需-,可通过 FileSystemManager.saveFile()
或FileSystemManager.copyFile()
接口把本地临时文件转换成本地缓存文件或本地用户文件。
临时文件的清理策略为:小程序退出后系统会检查该小程序的临时文件占用,若不超过2GB则不进行清理,超过上限则以文件为维度按照最近使用时间从远到近进行清理。同时也会检查所有小程序的临时文件占用,若超过6GB则以小程序为维度进行清理。
因此,开发者在-临时文件时,可先通过FileSystemManager.access()
检查该文件是否存在,减少重复文件-,提升用户体验。
wx.chooseImage({ success: function (res) { var tempFilePaths = res.tempFilePaths // tempFilePaths 的每一项是一个本地临时文件路径 } }) 已复制代码
本地缓存文件只能通过调用特定接口产生,不能直接写入内容。本地缓存文件产生后,重启之后仍可用。本地缓存文件只能通过FileSystemManager.saveFile()
接口将本地临时文件保存获得。
fs.saveFile({ tempFilePath: '', // 传入一个本地临时文件路径 success(res) { console.log(res.savedFilePath) // res.savedFilePath 为一个本地缓存文件路径 } }) 已复制代码
注意
本地缓存文件是最初的设计,1.7.0 版本开始,提供了功能更完整的本地用户文件,可以完全覆盖本地缓存文件的功能,如果不需要兼容低于 1.7.0 版本,可以不使用本地缓存文件。
小程序提供了一个用户文件目录给开发者,开发者对这个目录有完全自由的读写权限。通过ft.env.USER_DATA_PATH
可以获取到这个目录的路径。
// 在本地用户文件目录下创建一个文件 hello.txt,写入内容 "hello, world" const fs = ft.getFileSystemManager() fs.writeFileSync(`${ft.env.USER_DATA_PATH}/hello.txt`, 'hello, world', 'utf8') 已复制代码
接口、组件 | 读 | 写 |
---|---|---|
代码包文件 | 有 | 无 |
本地临时文件 | 有 | 无 |
本地缓存文件 | 有 | 无 |
本地用户文件 | 有 | 有 |
本地临时文件只保证在小程序当前生命周期内,一旦小程序被关闭就可能被清理,即下次冷启动不保证可用。
本地缓存文件和本地用户文件的清理时机跟代码包一样,只有在代码包被清理的时会被清理。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~