3

我正在将视频和音频文件从我的 Android 应用程序发送到Wampserver,其中一些可能会变得非常大,并且OutofMemory当文件大约过大时,我往往会遇到问题1MB

我将每个文件单独转换为字节流。我认为字节流太大,因此OutofMemory.

如何阻止此错误的发生?

4

3 回答 3

4

看这个例子:

在 Android 上使用 POST 将文件上传到 HTTP 服务器。

于 2012-03-16T23:07:15.313 回答
3

使用此处建议的 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);
}
于 2012-03-17T21:09:43.333 回答
0

当您有大文件或大图像/高质量图像等大数据要发送到服务器时,您可以将其分块/块发送。

首先与服务器建立 Http 连接,然后使用DataOutputStreamClass 发送块。同样在服务器端,您需要实现用于接收这些块的代码,并在获得所有块后将它们放在一个文件中。

于 2012-03-17T03:21:10.133 回答