2015-10-28 17 views
7

Ho ridotto il mio problema a uno scenario molto semplice e sembra essere con iOS 9+ e UIWebView con un sito Web che ha un sacco di pagine caricate (come si otterrebbe dalla navigazione) .Maggiore perdita di prestazioni in UIWebView su iOS 9

Ho seguito questo tutorial (http://conecode.com/news/2011/05/ios-tutorial-creating-a-web-view-uiwebview/) per creare una semplice app iOS con UIWebView. Ho puntato l'UIWebView su un html statico che sembra quello che ho in fondo.

Ho quindi aggiornato la pagina con il pulsante (o lo script che lo esegue automaticamente) e alla fine l'app diventa più lenta e più lenta (in genere circa 50-80 aggiornamenti). Ho l'elenco nella pagina per la dimostrazione perché ti permette di scorrere, il che evidenzia il problema molto prima.

Qualsiasi aiuto o direzione per la risoluzione di questo problema?

<!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

Ho risolto il mio problema mettendo in un hack nella mia applicazione per tenere traccia delle caricamento della pagina il numero e dopo un numero arbitrario di carichi, scarico il controllo e lo aggiungo nuovamente. C'era qualche BS extra da seguire con questo per renderlo apparentemente all'utente. Ma in sostanza è un hack e non il modo corretto di farlo. – XenoPuTtSs

+0

https://github.com/kirbysayshi/vash/issues/72 Si prega di avere un loot a questo problema. Forse aiuta –

risposta

2

Forse un problema di memoria.
Guarda il rapporto di memoria (ingrandisci con doppio clic) in Xcode mentre esegui il progetto e ricarica/naviga in UIWebView.

enter image description here

Se è in crescita, cercare di eliminare la cache UIWebViews

Clearing UIWebview cache

+0

Anche se non vedevo aumentare la memoria come il tuo screenshot, questo ha aiutato con le prestazioni nel mio test applicazione. – XenoPuTtSs