Приложение занимает слишком много места в оперативной памяти, что приводит к закрытию приложения

У меня проблема с приложением, которое я создаю. Объем оперативной памяти BB 9800 слишком мал.

У меня есть приложение html5, которое я использую в IOS и Blackberry. Я использую phonegap plugin для получения данных с сервера с помощью Sybase.

На IOS все работает нормально, но на Blackberry я часто получаю сообщение "Недостаточно памяти, пожалуйста, остановите приложения", и работает только мое приложение. Обычно за этим следует "приложение закрывается, потому что оно слишком большое".

Как я могу либо увеличить объем памяти, доступный для моего приложения (маловероятно), либо уменьшить объем, который использует мое приложение (советы и рекомендации)

Я использую:

  • Sencha Touch для нашего интерфейса
  • Phonegap для доступа к собственному API
  • Sybase для синхронизации между нашими локальными данными и данными сервера

  • Нет наборов инструментов - только один сенча тач

  • все загружается в index.html - ajax вообще нет
  • index.html - это локальный файл - без загрузки запроса

Sencha делает DOM материал — не все экраны в одном основном DOM — экраны создаются по запросу.


person Jason Rogers    schedule 12.12.2011    source источник
comment
Итак, я столкнулся с похожей проблемой. Каково было решение? разбить на разные страницы?   -  person Th0rndike    schedule 08.05.2012


Ответы (1)


Вы упомянули, что извлекаете данные из Sybase - это когда вы получаете эту ошибку памяти?

К сожалению, sencha/phonegap/sybase sync/ваш js будет занимать память (тем более, что все это на одной странице), а эти фреймворки достаточно велики, чтобы вызывать проблемы...

Мои предложения:

  1. если ошибка возникает только при загрузке данных, вопрос в том, сколько данных вы загружаете? может быть, он пытается загрузить 1 ГБ данных и пытается сделать это в памяти? Я бы рассмотрел подкачку на стороне сервера, чтобы уменьшить объем данных.

  2. попробуйте разбить на несколько страниц .html, каждая из которых выполняет подмножество работы, которую вы сейчас выполняете, в одном большом файле...

Надеюсь это поможет

person Leon    schedule 14.12.2011