UIWebview ограничение размера - PullRequest
2 голосов
/ 09 августа 2010

Каждый раз, когда я загружаю html-файл размером более 2 МБ, мое приложение вылетает. Есть ли ограничение на размер веб-страницы? Как я могу не вылетать из моего приложения (частичная загрузка?)

Ответы [ 2 ]

9 голосов
/ 09 августа 2010

Когда вы загружаете 2 МБ HTML, UIWebView должен потреблять много памяти для создания DOM и всех элементов управления / графика / и т.д.на самом деле показать страницу.Ограничением является не размер HTML, а результирующий объем памяти, необходимый для его отображения.Запустите его в симуляторе с монитором активности, чтобы увидеть потребление памяти

Xcode Instruments: пиковое ОЗУ приложений iPhone, работающих в симуляторе?ваши страницы или найдите другой способ сделать разметку, чтобы уменьшить объем памяти.Обратите внимание, что простое уменьшение размера HTML может не помочь, если вам нужно создать ту же страницу.

3 голосов
/ 09 августа 2010

Могу поспорить, что вы игнорируете предупреждения памяти, которые отправляются вашему подклассу UIViewController, в котором находится ваш UIWebView.

Раскомментируйте -(void)didReceiveMemoryWarning и отправляете оттуда некоторые сообщения NSLog.Вы, вероятно, увидите, что телефон отчаянно пытается привлечь ваше внимание к состоянию нехватки памяти.А если вы не отвечаете уменьшением использования памяти, это убивает вас.

В этом методе вы хотите освободить любые ресурсы, которыми вы держите - изображения, большие объемы данных и т. Д..

...