设置
  • 日夜间
    随系统
    浅色
    深色
  • 主题色

微信新增 FD 接口,小程序文件读写更快

2022/6/2 12:52:52 来源:IT之家 作者:潇公子 责编:潇公子
感谢IT之家网友 鿿鿿莱狗鿽鿿 的线索投递!

IT之家 6 月 2 日消息,文件操作太麻烦?文件读写速度太慢?……

微信开发者发布,随着文件系统本地存储容量的不断扩大,文件操作的流程与速度成为开发者们日益关注的重点。为了实现小程序 / 小游戏更高效、更原子化的文件操作效果,微信团队新增 FD 接口,优化小程序用户体验:

  • 支持一次打开文件即可多次读 / 写,减少重复操作

  • 支持只读 / 写指定内容,减少无效读写

  • 实现读写耗时降低 46%,提升体验

FD 接口是什么

FD 接口是微信团队新增的高性能、原子化的文件接口类型。对比原有文件接口,FD 接口不仅增加打开文件与关闭文件 2 个接口,而且更新代码实现方式,快速提升小程序性能。

FD 接口有多强

FD 接口支持一次打开文件,即可进行多次读 / 写操作。对比原有文件接口每项操作均需要打开、写入、关闭文件 3 个步骤,FD 接口实现一次打开文件,即可多次读取、写入文件,操作完成再关闭文件,减少重复操作。

FD 接口支持只读 / 写文件中指定内容。针对大文件操作场景,FD 接口的该项特性能够减少无效读写,降低文件读写时间。 如下图例子,原有文件接口需要全部读 / 写内容(如左下图黄色高亮内容),FD 文件接口则支持只读 / 写指定内容(如右下图黄色高亮内容),降低读写耗时。

以连续 100 次读 + 写同一个文件 (1MB) 的实验为例,对比原有接口读写文件耗时,FD 接口在安卓端读写文件耗时降低 46%,在 iOS 端读写耗时降低 19%。

FD 接口怎样用

FD 接口减少重复操作、减少无效读写,降低文件读写耗时。那么如何正确应用 FD 接口?

以打开文件、读取文件内容、修改内容并写入文件的过程为例,原有接口需要每次读写文件并且完整打开关闭。

// 获取全局唯一的文件管理器
const fs = wx.getFileSystemManager()
// 读取文件
data = fs.readFileSync(“FileA”)
// 修改文件内容
data = modify(data)
// 写入文件
fs.writeFileSync(“FileA”, data)

如果仅应用于简单的文件操作流程,原有文件接口仍可适用。但面向大量文件操作的场景,原有文件接口造成读写耗时较长,同时影响低端机型的性能,影响用户体验。因此 FD 接口一次打开、多次执行的特性能够高效解决问题,代码示例如下:

// 获取全局唯一的文件管理器
const fs = wx.getFileSystemManager()
// 打开文件
fd = fs.openSync(“FileA”)
// 读取文件
fs.readSync({ fd, arrayBuffer, offset, length, position })
// 修改文件内容
data = modify(data)
// 写入文件
fs.writeSync({ fd, data, offset, length, position })
// 关闭文件
fs.closeSync({fd: fd })

面对文件系统本地存储容量的不断扩大的场景,FD 接口支持一次打开文件即可多次读 / 写,并且支持只读 / 写指定内容,实现文件读写耗时减少近 50%,提升用户体验。

大家在IT之家微信号回复“微信”两字,即可获取当前最新官方内部版微信下载。

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

相关文章

关键词:微信小程序

软媒旗下网站: IT之家 最会买 - 返利返现优惠券 iPhone之家 Win7之家 Win10之家 Win11之家

软媒旗下软件: 软媒手机APP应用 魔方 最会买 要知