3

Androidアプリケーションからにビデオファイルとオーディオファイルを送信しています。これらのファイルの一部は非常に大きくなる可能性があり、ファイルのサイズがほぼWampserver大きくなると問題が発生する傾向があります。OutofMemory1MB

各ファイルを個別にバイトストリームに変換します。バイトストリームが大きすぎるため、OutofMemory

このエラーの発生を防ぐにはどうすればよいですか?

4

3 に答える 3

4

この例を見てください:

AndroidでPOSTを使用してHTTPサーバーにファイルをアップロードします。

于 2012-03-16T23:07:15.313 に答える
3

ここで提案されているMaxiumのリンクを使用:

Android で POST を使用して HTTP サーバーにファイルをアップロードします。

次に、エラーを修正するために、Androidでこのメモリ不足エラーを見つけました。

交換:

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 接続を作成し、次にDataOutputStreamクラスでチャンクを送信します。サーバー側でも同様に、これらのチャンクを受信するためのコードを実装し、すべてのチャンクを取得したら 1 つのファイルにする必要があります。

于 2012-03-17T03:21:10.133 に答える