2017-03-09 5 views
0

Meine Android-App speichert potenziell große Datenmengen im Speicher, die sie ursprünglich aus einer Datenbank liest. Das Lesen dieser Daten aus der Datenbank in den Speicher dauert eine Weile, und ich möchte diese Daten in eine Datei zwischen den Programmläufen serialisieren und zwischenspeichern, so dass ich sie nicht jedes Mal aus der Datenbank lesen muss, um hoffentlich schneller zu werden Anwendungsstart durch Eliminierung des Datenbank-Overheads.Wann Daten auf Android-Anwendungsebene gespeichert werden sollen (keine Aktivitätsdaten)

Diese Daten sind in einem Mitglied meiner Application-Klasse gespeichert, nicht in meiner Haupttätigkeit. Wenn ich richtig verstehe, kann die Application-Klasse bestehen bleiben, wenn meine Hauptaktivität zerstört und neu erstellt wird (z. B. Bildschirmdrehungen). Das ist gut. Allerdings muss ich wissen, wann die Anwendung selbst zerstört werden soll (und ich bin dabei, die in der Application-Klasse gespeicherten Daten zu verlieren), so dass ich sie vorher in eine Datei zwischenspeichern kann.

Ich möchte nicht onSaveInstanceState meiner Hauptaktivität verwenden, weil das dazu führen würde, dass die Zwischenspeicherung häufiger als notwendig auftritt (was ich nicht tun möchte, da es eine etwas teure Operation sein kann).

Gibt es eine Methode der Application-Klasse, die ich überschreiben kann, um damit umzugehen?

Wenn nicht, gibt es andere Möglichkeiten, dies zu tun?

Antwort

0

Halten Sie die Daten im Speicher und arbeiten Sie damit für maximale Reaktionsfähigkeit. Aktualisieren Sie die Benutzeroberfläche und speichern Sie die Daten in der Datenbank. Wenn beim Speichern neuer Daten ein Fehler auftritt, benachrichtigen Sie die Benutzeroberfläche. Auf diese Weise müssen Sie sich keine Gedanken darüber machen, wann die Anwendungsinstanz zerstört wird.

+0

Wie ich in meiner Frage sagte, halte ich die Daten bereits im Speicher, und ich speicher sie bereits in einer Datenbank. Ich denke, du hast die Frage, die ich gestellt habe, vielleicht verpasst. – JoeMjr2

Verwandte Themen