<tr id="wasqc"><optgroup id="wasqc"></optgroup></tr>

微信新增 FD 接口,小程序文件讀寫更快

作者:億網科技  來源:億網科技  發布時間:2022-06-06


據微信開發者發布,隨著文件系統本地存儲容量的不斷擴大,文件操作的流程與速度成為開發者們日益關注的重點。為了實現小程序 / 小游戲更高效、更原子化的文件操作效果,微信團隊新增 FD 接口,優化小程序用戶體驗:

8.png

支持一次打開文件即可多次讀 / 寫,減少重復操作


支持只讀 / 寫指定內容,減少無效讀寫


實現讀寫耗時降低 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%,提升用戶體驗。


性奴虐酷刑调教受虐狂视频,欧美老熟妇欲乱高清视频,亚洲欧美日韩综合在线一,一女多男两根同时进去txt