我需要将视频发送到.net中的Web服务,我要发送一个字符串base64编码,如果该视频大约2MB或6 o 7秒就可以了,但是当我执行Bas.encode [byte []时,如果重一些会导致内存不足错误);
这是我的代码:
vIDeoPath = getRealPathFromURI(fileUri); file tmpfile = new file(vIDeoPath); in = null; in = new BufferedinputStream(new fileinputStream(tmpfile)); bos = new ByteArrayOutputStream(); long tamano = tmpfile.length(); int iTamano = (int) tamano; byte[] b = new byte[iTamano]; int bytesRead; while ((bytesRead = in.read(b)) != -1) { bos.write(b, 0, bytesRead); } ficheroAEnviar = bos.toByteArray();try { strBase64 = Base64.encode(ficheroAEnviar); } catch (Exception e) { correcto = false; e.printstacktrace(); }
此行崩溃:strBase64 = Base64.encode(ficheroAEnviar);
解决方法:
你不能这样.内存是androID中的问题.您应该将视频分成几个部分,对每个部分进行编码,然后将其发送(我想您想通过WS或其他方式发送),然后将其重新组合到目标位置.
总结以上是内存溢出为你收集整理的android-大视频字符串base64导致内存不足错误全部内容,希望文章能够帮你解决android-大视频字符串base64导致内存不足错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)