Status von WebView speichern und in ANDROID wiederherstellen

Ich habe eine Android-Anwendung, die mit ViewPager und separaten WebViews auf jeder Seite gebaut hat. Jeder WebView zeigt verschiedene Webseiten. Zum Beispiel, Page 1: facebook, Seite2: Twitter, Seite3: Google+. Benutzer können Seiten hinzufügen / entfernen.

Mein mPager.setOffscreenPageLimit(1) (wobei mPager eine Instanz von ViewPager ). Was bedeutet, wenn der Benutzer die Seite 3 ansieht, wird das erste Fragment entsorgt (und neu erstellt, wenn der Benutzer 2. Seite erneut anzeigt).

Was ich will, ist, den ersten WebView-Status zu speichern, bevor er zerstört und seinen Zustand irgendwo rettet und dann wiederhersteller, wenn der Benutzer es sieht. Weil es die Seite neu lädt und offensichtlich nervig ist. Und ich möchte nicht, dass der Benutzer Webseiten auf jedem Swipe neu lädt. Ich habe versucht mit

 mWebView.saveState(outState); mWebView.restoreState(savedInstanceState); 

Aber es scheint nicht Arbeit zu sein. Irgendwelche Ideen zum Speichern und Wiederherstellen von Status von Webviews?

Ich habe versucht, WebView selbst in einer Klasse zu retten, Staaten zu retten usw.

  • Wie man einen Ersatz über die in einem Webview geladenen Webseiten macht
  • Laden Sie die vorhandene .html-Datei mit android WebView
  • SCORM-Inhalt in Android anzeigen
  • Gibt es eine Möglichkeit, ein WebView zu erzwingen, um sein Bild (Ansicht) zu aktualisieren, während das Scrollen?
  • Wie kann ich das interne Scrollen von WebView in Android stoppen?
  • Wie kann ich ein Cookie in einem Android-Webview für immer speichern?
  • HTTP-Anfragen von WebView abhören und überschreiben
  • Nach einer Weile der Nutzung, meine App friert beim Scrollen ein WebView, sagen "konnte nicht die Oberfläche"
  • One Solution collect form web for “Status von WebView speichern und in ANDROID wiederherstellen”

    Tatsächlich setzt setOffscreenPageLimit() die Anzahl der Seiten, um entweder links oder rechts der aktuellen Seite zu bleiben.

    Von FragmentPagerAdapter docs :

    Das Fragment jeder Seite, die der Benutzer besucht, wird im Gedächtnis gehalten, obwohl seine Sichthierarchie zerstört werden kann, wenn sie nicht sichtbar ist. Dies kann dazu führen, dass eine beträchtliche Menge an Speicher verwendet wird, da Fragmentinstanzen an einer beliebigen Menge an Zustand festhalten können.

    Ich denke in deinem Fall, da WebViews ziemlich groß sein kann in Erinnerung, Android verfügt über es, bis es wieder benötigt wird.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.