发送httpPost请求时,内存溢出。求大神指教。
本人写的一个发送http请求的类,Android端在使用时new UrlEncodedFormEntity(nvps, "UTF-8"));这句内存溢出outofmemory。
使用场景是这样的:Android端相当于是有个表单,会同时提交很多张图片,每张图片都是处理成很长的字符串之后,放在List<NameValuePair> nvps里面作为参数提交给服务端。tomcat的maxPostSize也设置为了0(无限制)。
代码如下,求大神指点。
public static String httpRequest(String url, List<NameValuePair> nvps) {
String respCode = null;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
HttpResponse resp = httpclient.execute(httpPost);
HttpEntity entity = resp.getEntity();
if (resp.getStatusLine().getStatusCode() == 200) {
respCode = EntityUtils.toString(entity);
} else {
respCode = "1000";
}
} catch (Exception e) {
respCode = "1000";
e.printStackTrace();
} finally {
httpPost.releaseConnection();
}
return respCode;
}
虽然问题是出在Android端,但是代码是复制的java服务端的(管理员手下留情勿删帖啊^_^)。java写的web提交表单啥的也都是用的这段代码,目前还未出现这样的问题。不过还未测试图片过多的情况。不知道是这个方法有问题,还是Android端用的时候出了问题。恳请大神指点迷津,不胜感激!