-
Creator 版本:
-
目标平台:
-
重现方式:
-
首个报错:
-
之前哪个版本是正常的:
-
手机型号:
-
手机浏览器:
-
编辑器操作系统:
-
重现概率:
let zipData = jsb.fileUtils.getDataFromFile(localZip);
zip大于200M直接挂掉了。支持的最大文件是多少M.
Creator 版本:
目标平台:
重现方式:
首个报错:
之前哪个版本是正常的:
手机型号:
手机浏览器:
编辑器操作系统:
重现概率:
let zipData = jsb.fileUtils.getDataFromFile(localZip);
zip大于200M直接挂掉了。支持的最大文件是多少M.
100M都直接崩了。。。我也是服了。。。
不是显示内存不够了吗 不过你这个是模拟器? 怎么会用到JSB的接口了?
解压zip包啊。准备做差异zip更新。解压这步,直接挂了。
那应该是JS引擎有限制,如果是原生 你改成JNI方式试试 不会有内存限制了就
我是为了做线上兼容,不然就用c++做了。只能说,太蛋疼了。
假设:
源文件:500M
压缩包:200m
如果全部读进内存解压就是需要200+500的内存
考虑分段读取分段解压存储?
读10m解压,循环
没到解压那一步。。只是读数据就崩了模拟器。
考虑分段读吧,不要一次读完
jsb只有那个接口
自己分文件。。。。。没办法,如果只能依靠jsb的话
主要是为了兼容线上,不然就直接c++写了
能不能分文件比如把200m的包分成20个10m的包,客户端下载一个解压一个?只需要更新客户端脚本就可以
想了下,确实拆包靠谱一些。打解压包的时候,检测文件大于100M,就用另外一个来打。