我正在将视频和音频文件从我的 Android 应用程序发送到Wampserver
,其中一些可能会变得非常大,并且OutofMemory
当文件大约过大时,我往往会遇到问题1MB
。
我将每个文件单独转换为字节流。我认为字节流太大,因此OutofMemory
.
如何阻止此错误的发生?
我正在将视频和音频文件从我的 Android 应用程序发送到Wampserver
,其中一些可能会变得非常大,并且OutofMemory
当文件大约过大时,我往往会遇到问题1MB
。
我将每个文件单独转换为字节流。我认为字节流太大,因此OutofMemory
.
如何阻止此错误的发生?
使用此处建议的 Maxium 链接:
在 Android 上使用 POST 将文件上传到 HTTP 服务器。
然后我在 android中发现了这个Out of Memory 错误来修复错误。
代替:
while (bytesRead > 0)
{
outputStream.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
和:
while (bytesRead > 0){
bufferSize = Math.min(bytesAvailable, maxBufferSize);
byte byt[]=new byte[bufferSize];
fileInputStream.read(byt);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
outputStream.write(buffer, 0, bufferSize);
}
当您有大文件或大图像/高质量图像等大数据要发送到服务器时,您可以将其分块/块发送。
首先与服务器建立 Http 连接,然后使用DataOutputStream
Class 发送块。同样在服务器端,您需要实现用于接收这些块的代码,并在获得所有块后将它们放在一个文件中。