我能够成功发送任意大小的编码视频字节[](字符串),来自服务器的响应,但在移动中下载时,当请求的视频超过3.5mb(大约)时,我总是会遇到MemoryOutOfBoundException ,否则工作正常。
以下代码是我目前正在使用的代码。
String image = (encoded byte[] in form of string from server);
byte[] byteImageData = new byte[image.length()];
byteImageData = Base64.decode(image, Base64.DEFAULT);
System.gc();
BufferedOutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(file));
out.write(byteImageData);
out.flush();
} catch (IOException e) {
e.getMessage();
}
finally {
if (out != null) {
out.close();
}
System.gc();
所有我需要的是移动设备应该足够下载至少20mb。 有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
我建议使用Android的下载管理器https://developer.android.com/reference/android/app/DownloadManager.html
然后检查注册广播接收器以收听文件下载。
请查看此示例:http://blog.vogella.com/2011/06/14/android-downloadmanager-example/