s***@163.com
s***@163.com
  • 发布:2024-03-18 11:30
  • 更新:2024-03-18 14:33
  • 阅读:358

如下代码,下载二进制文件并读取arraybuffer转成字节数组,转成微信小程序代码会内存溢出,但是使用原生小程序开发就没问题

分类:uni-app

let that = this
uni.getFileSystemManager().readFile({
filePath: tempFilePath,
success(readRes) {
that.binFileArrays = Array.from(new Uint8Array(readRes.data));
console.log('转换完成');
that.sendGetProtocolVersionData() // 获取OTA协议版本
},
});

2024-03-18 11:30 负责人:无 分享
已邀请:
JXWang

JXWang

我试了一下,未能复现所说问题,会不会文件大小太大了导致的,或者是其他的代码逻辑导致的

  • s***@163.com (作者)

    <template>

    <view>

    <view class="wx-bg-red otaBt" @tap="upotaFile">立即升级</view>

    </view>

    </template>


    <script>


    export default {

    data() {

    return {

    binFileArrays: [],

    };

    },

    methods: {

    // 1.下载升级文件

    upotaFile() {

    let that = this;

    uni.downloadFile({

    url: 'https://eartech-dev.oss-cn-shenzhen.aliyuncs.com/firmware/2024/03/07/1709795012646/Sara_1.14.23.01_OTA.bin',

    //ota下载文件路径

    success(aa) {

    if (aa.statusCode === 200) {

    // 下载成功

    let tempFilePath = aa.tempFilePath;

    uni.getFileSystemManager().readFile({

    filePath: tempFilePath,

    success(bb) {

    that.binFileArrays = Array.from(new Uint8Array(bb.data));

    console.log('转换完成');

    },

    });

    }

    }

    });

    },


    }  

    };

    </script>

    <style>

    .otaBt {

    width: 100%;

    padding: 25rpx 0;

    font-size: calc(34rpx + 0.5 * (1rem - 16px));

    text-align: center;

    color: white;

    border-radius: 70rpx;

    }

    </style>

    可以试下完整代码 文件不到4M

    2024-03-18 14:44

  • JXWang

    回复 s***@163.com: 请问使用的hbuilderX版本和微信开发者工具版本是什么

    2024-03-18 14:56

  • JXWang

    回复 JXWang: 我使用hubilderX 3.99 微信开发者工具 Stable 1.06.2401020,一摸一样的代码,没复现内存溢出的问题

    2024-03-18 15:02

  • s***@163.com (作者)

    回复 JXWang: 我的HbuilderX是3.99 微信开发者工具是 1.06.2402021 我这边的现象是等待转换完成要很长时间,小程序会自动闪退,报内存不足。

    2024-03-18 15:16

  • s***@163.com (作者)

    回复 JXWang: 回复 JXWang: 还有我是Mac客户端

    2024-03-18 15:17

  • JXWang

    回复 s***@163.com: 是在微信开发者工具中复现的吧?可以试试将内存限制调大一点试试

    2024-03-18 15:29

  • s***@163.com (作者)

    回复 JXWang: 不是的 是真机调试不行 微信开发者工具的模拟器倒还正常

    2024-03-18 17:34

要回复问题请先登录注册