Lebensdauer des Prozesses beeinflussen

  • 4 Antworten
  • Letztes Antwortdatum
F

Flixius

Fortgeschrittenes Mitglied
4
Hi,

wenn jemand den Homebutton drückt während er eine App auf hat, wird sie weiterhin im Speicher gehalten und bei erneutem Start der App aus dem "cache" geladen. Nun beim testen meiner App ist es aufgefallen, dass man bei exzessiver regelmäßiger Benutzung der Prozess sehr lange lebt.

Das Problem ist, dass ich beim start der App nach Aktualisierungen der Datengrundlage im Internet suche und ggf. veränderte Texte herunterlade. Sicher kann man irgendwie beim onResume o.ä. eine Logik einbauen, die nach updates schaut, aber das wäre ziemlich unsauber und ich habe auch etwas Angst vor unreproduzierbaren Exceptions.

Gibt es vielleicht die Möglichkeit die Lebensdauer des Prozesses im Manifest o.ä. als Empfehlung an den GarbageCollector vom AndroidOS zu übermitteln?

Habt ihr das Problem auch schon gehabt? Gibt es einen guten Workaround?
 
Verstehe nicht wie so onResume gefährlich sein soll. Genau dafür ist die doch gedacht. Um Daten zu laden, neu organisieren u.s.w wenn die Activity wieder in Benutzung kommt.
 
OnResume wird auch gecallt wenn ich den zurückbutton betätige. Das passiert ja während der aktiven Nutzung. Klar könnte ich lokal irgendeine variable halten, die den letzten check beim Server abfragt, aber ich hab jetzt schon einen bug, der manchmal auftritt wenn ich die App nach einiger zeit wieder aufrufe.
 
Habe ich auch. Das ist aber ein Architekturfehler den ich noch ausbügeln muss.
In onPause alles stopen und in onResume wieder alles starten. Das ist der korrekte Ansatz.
 
ansonsten kann man natürlich in OnPause auch ein finish() einbauen.
Das ist aber meiner Meinung nach die unsaubere Variante.
 
Zurück
Oben Unten