Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript readAsArrayBuffer在移动设备上速度非常慢_Javascript_Filereader - Fatal编程技术网

Javascript readAsArrayBuffer在移动设备上速度非常慢

Javascript readAsArrayBuffer在移动设备上速度非常慢,javascript,filereader,Javascript,Filereader,在桌面浏览器上运行下面的代码段,然后选择任何超过10MB的文件。您将获得大约4MB/s的读取速度。如果你在android的移动Chrome上运行它,你会得到接近90Kb/s的速度 有什么方法可以改进吗 p、 美国。 我正在使用sliceFile从移动设备通过RTCDataChannel发送BufferArray 函数加载(){ 函数bytesToSize(字节){ 变量大小=['Bytes/s'、'KB/s'、'MB/s'、'GB/s'、'TB/s']; 如果(字节

在桌面浏览器上运行下面的代码段,然后选择任何超过10MB的文件。您将获得大约4MB/s的读取速度。如果你在android的移动Chrome上运行它,你会得到接近90Kb/s的速度

有什么方法可以改进吗

p、 美国。 我正在使用sliceFile从移动设备通过RTCDataChannel发送BufferArray

函数加载(){
函数bytesToSize(字节){
变量大小=['Bytes/s'、'KB/s'、'MB/s'、'GB/s'、'TB/s'];
如果(字节<1)返回“”;
var i=parseInt(Math.floor(Math.log(字节)/Math.log(1024));
返回Math.round(字节/Math.pow(1024,i),2)+''+大小[i];
}
var reader=new window.FileReader();
var偏移=0;
var f=window.event.target.files[0];
proggres.max=f.size;
reader.onload=读取;
函数read(){
如果(偏移量小于f.size){
var currentSlice=f.slice(偏移量,偏移量+16384);
偏移量+=16384;
reader.readAsArrayBuffer(currentSlice);
progress.value=偏移量;
}
}
var lastOffset=0;
setInterval(函数(){
var s=bytesToSize(偏移量-上次偏移量);
若有(s){
currSpeed.textContent=s;
}
lastOffset=偏移量;
}, 1000);
read();
}


我不懂JavaScript。但是你能用BufferedReader吗?它的工作速度比FileReader快。您使用的是哪款移动设备?安卓7.0小米mi4c,Snapdragon 808,内置闪存,速度不太慢。。。