2012-04-03 27 views
0

我發送以下請求發送到Web應用程序Tomcat上運行:大型數據下載

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字節分配

隨着512 MB的RAM,我不明白爲什麼它的空間不足。任何人有任何想法,爲什麼會發生這種情況,以及如何解決它?

回答

1

這512MB並非全部適合你。根據設備,您的應用程序將獲得16MB,24MB,32MB。如果設備具有512MB內存,則應用程序將爲24MB。