收藏
回答

FileSystemManager.writeFile 效率问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小游戏 需求 FileSystemManager.writeFile 微信安卓客户端 7.0.6 2.8.2

FileSystemManager.writeFile 感觉这个接口运行效率有问题,开发者工具上需要几百ms,真机上平均需要50ms。当写入大量文件到本地时,这一块会卡很久。


Log.info(`write file ${path}, buffer size [${size}]`);
 
const bufferToWrite = new Uint8Array(size);
bufferToWrite.set(window.Module.HEAPU8.subarray(buffer, buffer + size));
 
try {
    Log.info(`check path`);
    this.checkPath(path);
    Log.info(`write start`);
    fs.writeFileSync(path, bufferToWrite.buffer, `hex`);
    // fs.writeFile({ filePath: path, data: bufferToWrite.buffer, encoding: `hex` });
    Log.info(`write end`);
} catch (e) {
    Log.error(`write file ${path} failed.`);
    console.error(e);
    return 0;
}




附一个安卓运行结果:



最后一次编辑于  09-16
回答关注问题邀请回答
收藏

3 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    09-16

    Android 上的文件接口有在优化中。

    09-16
    赞同 1
    回复
  • 小游戏运营专员-宏
    小游戏运营专员-宏
    09-16

    您好,能否提供个可运行的代码片段,这边复现一下看看是什么问题(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    09-16
    赞同
    回复 2
    • 凤鸣
      凤鸣
      09-16
      https://developers.weixin.qq.com/s/AZoyZqmj77bQ
      09-16
      回复
    • 凤鸣
      凤鸣
      09-16
      手机型号,华为mate20x
      09-16
      回复
  • 凤鸣
    凤鸣
    09-16

    补充:用异步接口写大量文件时,开发者工具会占满cpu的一个核,真机上直接崩溃了

    09-16
    赞同
    回复 3
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      09-16
      具体是多大?
      09-16
      回复
    • 凤鸣
      凤鸣
      09-16回复小程序/小游戏开发-Link
      文件大小不大,平均100K左右,数量较多,有大概几百到1000个
      09-16
      回复
    • 小程序/小游戏开发-Link
      小程序/小游戏开发-Link
      09-16
      按照你这个条件测试没有崩溃,如果有稳定必现的代码片段麻烦给一个。
      09-16
      回复
问题标签