2
我需要上傳的Android至少16個MB的文件到我的服務器,但事實證明,當文件exced 9 MB的下一個錯誤 - >如何從Android上傳大文件而不發生OutOfMemory錯誤?
10-17 05:21:57.600: E/AndroidRuntime(2185): java.lang.OutOfMemoryError
10-17 05:21:57.600: E/AndroidRuntime(2185): at java.io.ByteArrayOutputStream.expand(ByteArrayOutputStream.java:91)
10-17 05:21:57.600: E/AndroidRuntime(2185): at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:201)
10-17 05:21:57.600: E/AndroidRuntime(2185): at libcore.net.http.RetryableOutputStream.write(RetryableOutputStream.java:61)
10-17 05:21:57.600: E/AndroidRuntime(2185): at java.io.DataOutputStream.write(DataOutputStream.java:98)
這是代碼的一部分,如果我可以張貼整個代碼的neccesary
String fileName = sourceFileUri;
HttpURLConnection conn = null;
DataOutputStream dos = null;
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1 * 1024 * 1024;
File sourceFile = new File(sourceFileUri);
感謝
大衛
你可以跳過* ByteArrayOutputStream嗎?這是罪魁禍首。也許有一個可以禁用的「重試」選項? – user2864740
嗨用戶,我是新手在Java中,真的我不知道如何跳過這個過程。謝謝你的評論 – David