Wo ist das Bündel von onSaveInstanceState gespeichert?

Ich möchte wissen, wo das Bündel "outState" der Methode onSaveInstanceState (Bundle outState) gespeichert ist.

Ist es im Speicher oder im Gerät gespeichert?

  • Halten Sie den Bildschirm während meiner Aktivität wach
  • Mache meinen Button-Stil wie die AlertDialog-Taste Style
  • Android-Backup-Service - wann und wie oft zu sichern?
  • Android - Layout sieht in einigen Geräten durcheinander
  • Richtige Weg, um IdlingResource in Espresso Android zu verwenden
  • Was ist der Unterschied zwischen android.R.layout.simple_list_item_1 und android.R.layout.simple_list_item_2
  • Ich bin besorgt über die Sicherheit der Daten, die im Bündel gespeichert ist.

  • VideoView startet nicht, wenn es unsichtbar ist
  • Benötigt die V2 Maps Library die Berechtigung ACCESS_NETWORK_STATE?
  • Lesen von RGB-Bildern mit einem ImageReader
  • Installieren Sie die Anwendung apk programmgesteuert ohne Download
  • Fehler in generierten Werten-23-Datei in Android
  • Zentrieren ToggleButton Bild - Ohne Text
  • 3 Solutions collect form web for “Wo ist das Bündel von onSaveInstanceState gespeichert?”

    Ich glaube nicht, dass es irgendeine Möglichkeit gibt, dass irgendwelche bösartigen Hintergrundprozeß an den Bündeldaten Ihrer Anwendung erhalten kann. Es ist nicht dokumentiert, wie Android die Bundle-Daten behandelt. Es kann oder darf nicht auf Festplatte geschrieben werden, falls deine App gereinigt wird, während sie hinterlegt ist. Allerdings, da wir nicht wissen, ob diese Daten auf der Festplatte gespeichert sind, und wenn es ist, da wir keine Ahnung haben, wo und fast sicher keinen Lesezugriff auf diesen Teil der Festplatte haben, würde ich nicht Machen Sie sich Sorgen um einen Drittanbieterprozess, der diese Daten wiederherstellen kann.

    Folglich bin ich nicht klar, was Sie vielleicht denken, dass die Belichtung ist. Obwohl ich etwas vermisse. Allerdings, als Antwort auf Ihre Frage, ist es absolut in Erinnerung, während Ihre App am Leben ist, und wenn Ihre App ist hinterlegt, kann es oder kann nicht irgendwo versteckt geschrieben werden, aber wir wissen nicht, weil Google uns nicht gesagt hat.

    Es wird zusammen mit der Anwendung zerstört, wenn die Erinnerung gesammelt wird.

    Um Daten nur für die Anwendungslebensdauer (dh vorübergehend) zu speichern, verwenden Sie das OnSaveInstanceState (Bundle) Aktivitätsereignis

    Diese Daten werden nur solange gespeichert, bis die Anwendung geschlossen ist , die Daten sind jederzeit verfügbar, wenn diese Aktivität innerhalb der laufenden Lebensdauer der Anwendung beginnt.

    Erläuterung: Wenn Daten hier von der Aktivität A gespeichert werden, zeigt die Anwendung eine andere Aktivität an oder dreht den Bildschirm (also schließt A) und kehrt dann zu A zurück, die Daten können abgerufen werden, um die Kontrollen zu füllen. Wenn die Anwendung jedoch geschlossen und wieder geöffnet wird, werden die Daten verschwunden und die Steuerelemente werden auf ihre Standardwerte zurückgesetzt.

    Beispiel für die Verwendung: Speichern von Text eingegeben von Benutzer und Auswahl, die eine Bestellung, Blog-Eintrag, Nachricht, etc …

    Hinweis:

    Es ist wichtig zu bemerken, dass nur die Aktivität zerstört und neu erstellt wird, nicht deine ganze Anwendung! Eine Android-Anwendung kann aus vielen Aktivitäten, Services und ContentProvider bestehen! Wenn die Anwendung geschlossen ist (z. B. durch Drücken der Schaltfläche "Zurück"), sind alle Werte weg. SaveInstaceState ist nur da, um Daten temporär zu bewahren, wenn eine Aktivität zerstört / neu erstellt wird, nicht die Anwendung selbst.

    Wenn Sie Daten dauerhaft beibehalten möchten, müssen Sie sie entweder als Einstellungen oder in einem ContentProvider / Datenbank speichern.

    Meine Vermutung wäre im Gedächtnis, aber der beste Weg, um Ihre Daten zu schützen, wäre nicht, dem System zu vertrauen und es zu verschlüsseln. Vertraue niemals dem Kunden (in diesem Fall der Client das Betriebssystem).

    BEARBEITEN:

    Um klar zu sein, ich sage nicht, das Bündel zu verschlüsseln. Vielmehr sage ich, dass keine sensiblen Daten nicht in das Bündel gebracht werden sollten. Wenn Sie benutzerdefinierte Daten in das Bündel legen müssen , dann verschlüsseln Sie es.

    Aber letztlich sollten Sie so wenig sensible Daten auf dem Client wie möglich zu halten. Dies ist der gleiche Grund, warum eine E-Commerce-Website nur die letzten 4 Ziffern einer Kreditkarte zeigen würde.

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