R
RED-BARON
Fortgeschrittenes Mitglied
- 19
Hallo Gemeinde,
wusste nicht wie ich das Thema nennen sollte
Problem ist, meine App soll egal was sonst mit dem Droiden passiert
immer einen definierten Zustand halten. Idealerweise den letzten Zustand.
Umsetzung erfolgte, indem alle relevanten Variablen gespeichert werden (sqlite-tabelle).
Funktioniert soweit auch ganz gut, bis auf das sporadisch nach
Telefonaten oder anderen Aktivitäten am Smartphone bei Rückkehr zu
meiner App, diese nicht in ihren alten Zustand wechselt.
( So wurde mir von anderen berichtet )
Geladen und gespeichert werden Programmzustände als Singelton im
Application-Object. Geladen wird nur einmal wenn das Applicationobject
neu erzeugt wurde. Gespeichert wird der Zustand der App ( Variablen im
Applicationobject ) bei jedem wechsel der Activity, bei onPause und wenn
sich Variablen ändern.
Nun habe ich mit dem DDMS ( Devices: => STOP-Symbol ) rumgespielt und
mir ist dabei aufgefallen, dass nach einem Process-Stop nicht immer die "main"-Activity gestartet wird.
Da ich meine Activities von einer eigenen Basisklassen-Activity ableite
ist sehr leicht sicherzustellen ( Protokoll zeigt es auch an ), dass meine
Zustände geladen werden.
Dennoch wird nicht immer zur letzten Activity "durchgeschaltet" und
manchmal beginnt der LogCat bei der "main"-Activity, manchmal bei der
2. ( nach main ) Activity, .. oder gleich bei der zu letzt angezeigten.
Woher kommt das ?
Ich dachte wenn ich einen Process stoppe, dann wird garantiert bei der
main-Activity der Process neu begonnen. Oder ist das nur so, weil ich
über DDMS den Process stoppe ? Starte ich über den Debugger, kann ich
nachvollziehen, dass immer bei der main-Activity begonnen wird.
Was trifft nun zu bei einer Release-Version aufm realen Gerät, wenn der
Process wegen Speichermangel gekillt wurde ?
Wie kann ich so einen Speichermangel komfortabel provozieren. Ich selbst
konnte bisher noch nie beobachten, dass durch einen Telefonanruf mir
danach die App nicht wieder im letzten Zustand war.
wusste nicht wie ich das Thema nennen sollte

Problem ist, meine App soll egal was sonst mit dem Droiden passiert
immer einen definierten Zustand halten. Idealerweise den letzten Zustand.
Umsetzung erfolgte, indem alle relevanten Variablen gespeichert werden (sqlite-tabelle).
Funktioniert soweit auch ganz gut, bis auf das sporadisch nach
Telefonaten oder anderen Aktivitäten am Smartphone bei Rückkehr zu
meiner App, diese nicht in ihren alten Zustand wechselt.
( So wurde mir von anderen berichtet )
Geladen und gespeichert werden Programmzustände als Singelton im
Application-Object. Geladen wird nur einmal wenn das Applicationobject
neu erzeugt wurde. Gespeichert wird der Zustand der App ( Variablen im
Applicationobject ) bei jedem wechsel der Activity, bei onPause und wenn
sich Variablen ändern.
Nun habe ich mit dem DDMS ( Devices: => STOP-Symbol ) rumgespielt und
mir ist dabei aufgefallen, dass nach einem Process-Stop nicht immer die "main"-Activity gestartet wird.
Da ich meine Activities von einer eigenen Basisklassen-Activity ableite
ist sehr leicht sicherzustellen ( Protokoll zeigt es auch an ), dass meine
Zustände geladen werden.
Dennoch wird nicht immer zur letzten Activity "durchgeschaltet" und
manchmal beginnt der LogCat bei der "main"-Activity, manchmal bei der
2. ( nach main ) Activity, .. oder gleich bei der zu letzt angezeigten.
Woher kommt das ?
Ich dachte wenn ich einen Process stoppe, dann wird garantiert bei der
main-Activity der Process neu begonnen. Oder ist das nur so, weil ich
über DDMS den Process stoppe ? Starte ich über den Debugger, kann ich
nachvollziehen, dass immer bei der main-Activity begonnen wird.
Was trifft nun zu bei einer Release-Version aufm realen Gerät, wenn der
Process wegen Speichermangel gekillt wurde ?
Wie kann ich so einen Speichermangel komfortabel provozieren. Ich selbst
konnte bisher noch nie beobachten, dass durch einen Telefonanruf mir
danach die App nicht wieder im letzten Zustand war.