2015-10-28 2 views
7

Я сбил свою проблему с очень простым сценарием и, похоже, с iOS 9+ и UIWebView с веб-сайтом, на котором много загрузок страниц (например, вы могли бы получить от навигации) ,Основные потери производительности в UIWebView на iOS 9

Я следовал этому руководству (http://conecode.com/news/2011/05/ios-tutorial-creating-a-web-view-uiwebview/), чтобы создать простое приложение iOS с UIWebView. Я указал UIWebView на статический html, который выглядит так, как у меня внизу.

Затем я обновил страницу кнопкой (или скриптом, который делает это автоматически), и в конечном итоге приложение растет медленнее и медленнее (обычно около 50-80 обновлений). У меня есть список на странице для демонстрации, потому что он позволяет прокручивать, что еще раз подчеркивает проблему.

Любая помощь или руководство для меня для решения этой проблемы?

<!DOCTYPE html> 
<html lang="en"> 
<head></head> 
<body> 
<FORM><INPUT id="demo" TYPE="button" onClick="history.go(0)" VALUE="refresh"></FORM> 
    <ul data-role="listview" > 
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
       <li>This is an Item</li>  
    </ul> 
    <script> 
     var elem = document.getElementById("demo"); 
     elem.value = Date(); 
     location.reload(); 
    </script>  
</body> 
</html> 
+0

я решил мою проблему, поместив в хака в моем приложении, чтобы следить за нагрузками номер страницы и после того, как произвольное количество нагрузок, я выгружаю элемент управления и снова добавляю его. Было несколько дополнительных BS, чтобы согласиться с этим, чтобы сделать это безразличным для пользователя. Но по сути это взлом, а не правильный способ сделать это. – XenoPuTtSs

+0

https://github.com/kirbysayshi/vash/issues/72 Пожалуйста, приготовьте добычу по этой проблеме. Возможно, это помогает –

ответ

2

Возможно, проблема с памятью.
Просмотрите отчет о памяти (увеличьте с двойным щелчком) в Xcode во время запуска проекта и перезагрузки/навигации по UIWebView.

enter image description here

Если она растет, попробуйте удалить кэш UIWebViews

Clearing UIWebview cache

+0

Хотя я не видел увеличения памяти, как ваш снимок экрана, это помогло повысить производительность в моем тесте заявление. – XenoPuTtSs

Смежные вопросы