Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 文件上载期间Asynctask java.lang.OutOfMemoryError异常_Android_Exception_Android Asynctask - Fatal编程技术网

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)

以下是asynctask
FileUploadTask
的跟踪:

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你能推荐其他的技巧吗?。我正在计算文件上传带宽。