проблема с памятью iPad 4.2 падает - PullRequest
0 голосов
/ 29 декабря 2010

Я занимаюсь разработкой приложения, которое получает 600-700 КБ данных XML с сервера.Я должен сделать некоторые манипуляции с этими данными, чтобы после получения данных объем памяти увеличился с 600 КБ до 2 МБ. Просмотр уже занял 4 МБ памяти в приложении.Поэтому при обработке данных XML я выполняю некоторые манипуляции (предварительный анализ), и объем памяти увеличивается до 600 КБ до 2 МБ и, наконец, уменьшается до 600 КБ из-за увеличения объема памяти, приложение выдает предупреждение памяти.При получении предупреждения о памяти я освобождаю все представления в контроллере навигации, но он освобождает только 1 МБ памяти.Даже при том, что я освобождаю все представления, приложение терпит крах.Пожалуйста, помогите мне в этом вопросе.Это происходит в iPad 4.2.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

Здесь нет волшебного ответа. Вы используете слишком много памяти, и вам нужно понять, как использовать меньше. Не зная больше о вашем приложении, трудно быть конкретным, хотя ясно, что загрузка почти 1 МБ данных и их обработка не помогают.

Может быть, вы можете передавать данные, а не загружать их в память? Есть библиотека с открытым исходным кодом, которая помогает: StreamingXMLParser .

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

0 голосов
/ 29 декабря 2010

Возможно, высвобождается только 1 МБ из-за значения параметра, которое можно изменить, или вам может потребоваться вручную запустить операцию сборки мусора во время сеанса разработки, если это соответствует используемому языку.Вы можете разделить ввод XML, если это возможно, или вызвать [свое] сжатие или сжатие XML при сохранении, если у вас есть доступ к сценарию или коду таким образом, который позволяет это.

...