Meine Anwendung besteht aus zwei Aktivitäten, A und B. Ich erwäge diese Schrittfolge:
- Aktivität A wird gestartet.
- A startet B [A ist pausiert, B läuft].
- B startet ein Map Intent [A und B sind jetzt beide pausiert].
Der Benutzer verwendet nun die Kartenanwendung und das System entscheidet, dass es mehr Speicher benötigt. Kann das System nur einer meiner Aktivitäten für die Erinnerung, oder wird es immer töten tous Aktivitäten in einem " Prozess " in dieser Situation?
Beide Aktivitäten teilen einige statische Daten wie:
class Data {
public static String mName;
public void save() {
// write to file: mName;
}
public void load() {
// mName = read from file;
}
}
ActivityA.mTextView.setText(Data.mName);
ActivityB.mListView.addText(Data.mName);
Wenn also eine Aktivität in meiner App onSaveInstanceBundleSate() aufgerufen wird, rufe ich Data.save() auf, um sie auf die Festplatte zu schreiben. Die Frage ist nun, ob ich in der onCreate()-Methode einer Activity einfach prüfen sollte, ob Data.mName == null ist, und wenn ja, davon ausgehen sollte, dass die Activity aus einem Kill-Status zurückkehrt, und erneut versuchen sollte, von der Festplatte wiederherzustellen? Mir ist nicht klar, wann diese Wiederherstellung durchgeführt werden sollte, da Activity A noch aktiv sein kann oder nicht usw. - und ich möchte den Status nicht beschädigen, wenn Activity A noch aktiv ist, aber B aus einem Kill-Status zurückkommt,
Danke
Danke