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?
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