源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 2414|回复: 0

[小程序开发] 微信小程序升级FD接口后文件操作接口FD怎么用?

[复制链接]

3099

主题

3500

帖子

13万

金币

超级版主

Rank: 8Rank: 8

积分
270868
发表于 2023-3-23 13:49:05 | 显示全部楼层 |阅读模式

前言:

开发过微信小程序的,用微信小程序操作过文件的应该知道,微信有一组文件管理接口——FileSystemManager接口组,天下网吧了解到,近日官方升级了相关的接口到FD接口。FD接口是什么鬼?一起来看看.

首先:FD接口是什么?

官方介绍:

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



FD接口有多强?

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



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

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

FD怎么用?

FD其实就是原来的FileSystemManager的相关接口的升级版,原来打开文件,修改文件内容,再保存文件的代码是这样的:
  1. // 获取全局唯一的文件管理器
  2. const fs = wx.getFileSystemManager()
  3. // 读取文件
  4. data = fs.readFileSync(“FileA”)
  5. // 修改文件内容
  6. data = modify(data)
  7. // 写入文件
  8. fs.writeFileSync(“FileA”, data)
复制代码

改用FD读写,是这样的:
  1. // 获取全局唯一的文件管理器
  2. const fs = wx.getFileSystemManager()
  3. // 打开文件
  4. fd = fs.openSync(“FileA”)
  5. // 读取文件
  6. fs.readSync({ fd, arrayBuffer, offset, length, position })
  7. // 修改文件内容
  8. data = modify(data)
  9. // 写入文件
  10. fs.writeSync({ fd, data, offset, length, position })
  11. // 关闭文件
  12. fs.closeSync({fd: fd })
复制代码

可以看出,变化并不大,FD方式多了一个打开文件的操作,相当于其他开发语言的获取文件句柄,然后可以重复,多次的对文件句柄进行读写操作,而不需要重新打开文件,这样自然提供了读写性能,特别适合在需要大量、高频读写文件时性能提升会很明显!

好了,今天关于微信小程序升级FD接口后文件操作接口FD怎么用的详细解释到这了,感谢大家对锦尚中国源码论坛的喜欢和支持,更多内容请搜索锦尚中国获取!

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-4-19 08:08 , Processed in 0.042253 second(s), 16 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明