Ошибка загрузки больших объемов данных из веб-приложения в клиент Android. Недостаточно памяти. - PullRequest
0 голосов
/ 03 апреля 2012

Я отправляю следующий запрос в веб-приложение, работающее на 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 МБ.Затем я получаю сообщение об ошибке в readLine ():

04-02 16: 51: 34.232: E / dalvikvm-heap (3907): Недостаточно памяти при выделении 10309582 байта

С 512 МБ ОЗУ я не понимаю, почему не хватает места.У кого-нибудь есть идеи, почему это происходит и как это исправить?

1 Ответ

1 голос
/ 03 апреля 2012

Эти 512 МБ не все для вас.В зависимости от устройства ваше приложение получит 16 МБ, 24 МБ, 32 МБ.Если устройство имеет 512 МБ памяти, оно будет 24 МБ для вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...