Ich habe eine iPad-App (IOS 4.3 & 5.0), die eine UIView mit mindestens 2 Unteransichten jedes Mal, wenn der Benutzer Seiten vor oder zurück erstellt. Die 2 Unteransichten sind UIWebView Objekte.
Bei jedem relevanten Wischen werden die alten UIWebViews entfernt und ordnungsgemäß freigegeben (removeFromSuperview dann stopLoading und Delegate auf null setzen) und die übergeordnete UIView wird freigegeben. Ich kann bestätigen, dass sowohl übergeordnete UIView und die 2 Kind-UIWebViews absolut weg sind.
Ich kann die Anzahl der beibehaltenen Webviews sehen, während sie entfernt werden, und ich bin ziemlich sicher, dass sie tatsächlich jedes Mal entfernt werden. Allerdings steigt meine Speicherzuweisung bei jedem Wischen um 200-350k. Keine Lecks im Instrument, aber ich kann sehen, dass die Speichernutzung langsam ansteigt. Auf dem iPad 1 erhält die App schließlich (innerhalb von 6-10 Minuten bei moderater Nutzung) mehrere Speicherwarnungen und wird beendet. LowMemory crash log...etc wird generiert.
Wir verwenden stringByEvaluatingJavaScriptFromString und loadRequest, um die WebViews aufzufüllen. Die Speichernutzung steigt auch dann an, wenn nichts in die WebViews injiziert oder geladen wird.
Hat jemand Erfahrung mit dieser Art von Verhalten mit UIWebViews? Hat jemand dieses Problem erfolgreich gelöst?
Für Anregungen, Kommentare und Antworten wären wir Ihnen sehr dankbar.