我正在向运行在Tomcat上的Web应用程序发送以下请求:
connection = (HttpsURLConnection) url.openConnection();
writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
writer.write("email_addr=" + URLEncoder.encode(email_addr, "UTF-8") + "&" + "passwd=" +
URLEncoder.encode(password, "UTF-8") + "&" +
"cmd=" + tmp + "&" + "parms=" + URLEncoder.encode(parms, "UTF-8"));
writer.close();
并且读取如下响应:
rdr = new BufferedReader(new InputStreamReader(connection.getInputStream()));
tmp = rdr.readLine();
只要返回的数据小于5MB左右,一切都很好。然后我在readLine()上得到一个错误:
04-02 16:51:34.232:E/dalvikvm堆(3907):10309582字节分配内存不足
有512 MB的RAM,我不明白为什么它会耗尽空间。有人知道为什么会发生这种情况以及如何解决吗?
512MB并不适合您。根据设备的不同,您的应用程序将获得16MB、24MB和32MB。如果设备有512MB的内存,那么您的应用程序的内存将为24MB。