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.

  • Kann Android WebView automatisch große Größe ändern?
  • Problem beim Scrollen von WebView in NestedScrollView Android 2.3 oder weniger
  • Android adjustResize - Wie man den Fade-Effekt deaktiviert
  • Render epub Dateien in Android
  • Systemabsturz beim Überschreiben isInterceptRequest in WebViewClient
  • Setzen Sie Anmeldeinformationen auf einem Android-Webview mit gesicherter HTTPS-Verbindung
  • In einem WebView gibt es einen Weg für shouldOverrideUrlLoading, um festzustellen, ob es fängt eine Umleitung vs ein Benutzer auf einen Link klicken?
  • Android_asset funktioniert nicht an Wabe?
  • 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.