Ich benutze einen Viewpager, um etwa 50 Webviews zu laden ... Alle Webviews werden in Assests geladen und jede Weview hat eine HTML-Seite, die auf etwa 70 Bilder zugreift ... Während ich wische, stürzt meine App danach ab ca. 30 Seiten, möglicherweise cos der Webviews behalten ihren Verweis auf die Bilder im Assests-Ordner ... Gibt es eine Möglichkeit, die Webviews freizugeben, die der Viewpager zu diesem bestimmten Zeitpunkt nicht verwendet?
%Vor%Details:
%Vor%beim dynamischen Laden von webview auf viewpager
Logbuch:
Versuchen Sie, die Bitmap zu verkleinern. Die meiste Zeit Bitmap ist ein Hauptgrund für das Speicherproblem. Erfahren Sie auch, wie Sie die Bitmaps recyceln können. Das folgende Snippet wird Ihnen helfen.
%Vor%Stellen Sie außerdem sicher, dass Sie die folgende Methode überschrieben haben.
%Vor%Oder Sie können eine Funktion erstellen, um Bitmap zu verkleinern
%Vor%Das WebView arbeitet mit dem JNI und kann nur 512 lokale Referenzen enthalten. Versuchen Sie, Ihren Inhalt direkt aus dem Internet zu laden und das Problem sollte nicht auftreten.
Ich bekomme dieses Problem, wenn ich shouldInterceptRequest(WebView view, String url)
in webviewclient überschreibe und lokale Referenzen von meinem eigenen Caching-Mechanismus übergebe.
Dies könnte ein Fehler in der Webansicht selbst sein. Zumindest ist es nicht so, wie es sich verhalten sollte, wenn du mich fragst.