jsb.fileUtils.getDataFromFile支持的最大文件空间是多少,200M直接挂掉了。

  • Creator 版本:

  • 目标平台:

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率:

let zipData = jsb.fileUtils.getDataFromFile(localZip);
zip大于200M直接挂掉了。支持的最大文件是多少M.

@jare

100M都直接崩了。。。我也是服了。。。

不是显示内存不够了吗 不过你这个是模拟器? 怎么会用到JSB的接口了?

解压zip包啊。准备做差异zip更新。解压这步,直接挂了。

那应该是JS引擎有限制,如果是原生 你改成JNI方式试试 不会有内存限制了就

我是为了做线上兼容,不然就用c++做了。只能说,太蛋疼了。

假设:
源文件:500M
压缩包:200m
如果全部读进内存解压就是需要200+500的内存

考虑分段读取分段解压存储?

读10m解压,循环

没到解压那一步。。只是读数据就崩了模拟器。

考虑分段读吧,不要一次读完

jsb只有那个接口

自己分文件。。。。。没办法,如果只能依靠jsb的话

主要是为了兼容线上,不然就直接c++写了

能不能分文件比如把200m的包分成20个10m的包,客户端下载一个解压一个?只需要更新客户端脚本就可以

想了下,确实拆包靠谱一些。打解压包的时候,检测文件大于100M,就用另外一个来打。