Android 文件上载期间Asynctask java.lang.OutOfMemoryError异常
在应用程序的文件上载测试期间,我遇到Android 文件上载期间Asynctask java.lang.OutOfMemoryError异常,android,exception,android-asynctask,Android,Exception,Android Asynctask,在应用程序的文件上载测试期间,我遇到java.lang.OutOfMemoryError异常。这是非常奇怪的,只发生在一些三星设备(GT9300) 以下是asynctaskFileUploadTask的跟踪: java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:299) at java.util.con
java.lang.OutOfMemoryError
异常。这是非常奇怪的,只发生在一些三星设备(GT9300)
以下是asynctaskFileUploadTask
的跟踪:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.OutOfMemoryError
at npi.comviva.com.race.fragment.FileUpload$FileUploadTask.doInBackground(SourceFile:1021)
at npi.comviva.com.race.fragment.FileUpload$FileUploadTask.doInBackground(SourceFile:950)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
源文件(FileUpload.java)行包括:
1010: final FileInputStream fileInputStream = new FileInputStream(new File(string));
FileUpload.this.uploadTimeStart = System.currentTimeMillis();
final HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(uploadURL).openConnection();
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setUseCaches(false);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + "*****");
final File file = new File(FileUpload.this.rootDir + FileUpload.this.folderName, FileUpload.this.fileName);
final FileInputStream fileInputStream2 = new FileInputStream(file);
1021 final byte[] array2 = new byte[(int) file.length()];
fileInputStream2.read(array2);
fileInputStream2.close();
fileInputStream.close();
如果需要我方提供任何数据,请告诉我。我认为您需要尝试其他数据technique@madhukar在清单中启用
android:largeHeap=“true”
一次。一旦检查这个链接,文件有多大?谢谢你的评论。文件大小将从10 MB到50 MB不等,具体取决于连接(4G、WIFI)。这有关系吗?@Sree你能推荐其他的技巧吗?。我正在计算文件上传带宽。