从Web应用程序下载到Android客户端的大数据内存不足错误

从Web应用程序下载到Android客户端的大数据内存不足错误,android,bufferedreader,out-of-memory,Android,Bufferedreader,Out Of Memory,我正在向运行在Tomcat上的Web应用程序发送以下请求: connection = (HttpsURLConnection) url.openConnection(); writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream())); writer.write("email_addr=" + URLEncoder.encode(email_addr, "UTF-8") + "&" +

我正在向运行在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();
只要返回的数据小于5 MB左右,一切正常。然后我在readLine()上得到一个错误:

04-02 16:51:34.232:E/dalvikvm堆(3907):10309582字节分配的内存不足


有512MB的RAM,我不明白它为什么会耗尽空间。有人知道为什么会发生这种情况以及如何解决吗?

512MB并不适合您。根据设备的不同,您的应用程序将获得16MB、24MB和32MB。如果设备有512MB内存,则应用程序的内存将为24MB