軟程科技 6 月 2 日消息,文件操作太麻煩?文件讀寫速度太慢?……
據(jù)微信開發(fā)者發(fā)布,隨著文件系統(tǒng)本地存儲容量的不斷擴大,文件操作的流程與速度成為開發(fā)者們?nèi)找骊P注的重點。為了實現(xiàn)小程序 / 小游戲更高效、更原子化的文件操作效果,微信團隊新增 FD 接口,優(yōu)化小程序用戶體驗:
支持一次打開文件即可多次讀 / 寫,減少重復操作
支持只讀 / 寫指定內(nèi)容,減少無效讀寫
實現(xiàn)讀寫耗時降低 46%,提升體驗
FD 接口是什么
FD 接口是微信團隊新增的高性能、原子化的文件接口類型。對比原有文件接口,F(xiàn)D 接口不僅增加打開文件與關閉文件 2 個接口,而且更新代碼實現(xiàn)方式,快速提升小程序性能。
FD 接口有多強
FD 接口支持一次打開文件,即可進行多次讀 / 寫操作。對比原有文件接口每項操作均需要打開、寫入、關閉文件 3 個步驟,F(xiàn)D 接口實現(xiàn)一次打開文件,即可多次讀取、寫入文件,操作完成再關閉文件,減少重復操作。
FD 接口支持只讀 / 寫文件中指定內(nèi)容。針對大文件操作場景,F(xiàn)D 接口的該項特性能夠減少無效讀寫,降低文件讀寫時間。 如下圖例子,原有文件接口需要全部讀 / 寫內(nèi)容(如左下圖黃色高亮內(nèi)容),F(xiàn)D 文件接口則支持只讀 / 寫指定內(nèi)容(如右下圖黃色高亮內(nèi)容),降低讀寫耗時。
以連續(xù) 100 次讀 + 寫同一個文件 (1MB) 的實驗為例,對比原有接口讀寫文件耗時,F(xiàn)D 接口在安卓端讀寫文件耗時降低 46%,在 iOS 端讀寫耗時降低 19%。
FD 接口怎樣用
FD 接口減少重復操作、減少無效讀寫,降低文件讀寫耗時。那么如何正確應用 FD 接口?
以打開文件、讀取文件內(nèi)容、修改內(nèi)容并寫入文件的過程為例,原有接口需要每次讀寫文件并且完整打開關閉。
// 獲取全局唯一的文件管理器 const fs = wx.getFileSystemManager() // 讀取文件 data = fs.readFileSync(“FileA”) // 修改文件內(nèi)容 data = modify(data) // 寫入文件 fs.writeFileSync(“FileA”, data)
如果僅應用于簡單的文件操作流程,原有文件接口仍可適用。但面向大量文件操作的場景,原有文件接口造成讀寫耗時較長,同時影響低端機型的性能,影響用戶體驗。因此 FD 接口一次打開、多次執(zhí)行的特性能夠高效解決問題,代碼示例如下:
// 獲取全局唯一的文件管理器 const fs = wx.getFileSystemManager() // 打開文件 fd = fs.openSync(“FileA”) // 讀取文件 fs.readSync({ fd, arrayBuffer, offset, length, position }) // 修改文件內(nèi)容 data = modify(data) // 寫入文件 fs.writeSync({ fd, data, offset, length, position }) // 關閉文件 fs.closeSync({fd: fd })
面對文件系統(tǒng)本地存儲容量的不斷擴大的場景,F(xiàn)D 接口支持一次打開文件即可多次讀 / 寫,并且支持只讀 / 寫指定內(nèi)容,實現(xiàn)文件讀寫耗時減少近 50%,提升用戶體驗。
大家在軟程科技微信號回復“微信”兩字,即可獲取當前最新官方內(nèi)部版微信下載。