Android Game Background Service

neulii

Mitglied
Hallo zusammen!
Ich versuche ein Spiel zu programmieren. Das spiel soll auch wenn die App geschlossen bzw im Hintergrund ist weiter Rohstoffe abbauen.
Mein Problem: Ein Background Service wird von Android gekillt wenn das OS es für nötig hält (wegen Speicher usw...), und mein Miner-Service läuft im Hintergrund nicht mehr weiter.
Jetzt frage ich mich wie wird sowas normalerweise programmiert? Wird so ein Vorgang wie "minen" in einem Background Service weiter berechnet und dieser irgend wie am Leben gehalten?
Oder was ich mir auch vorstellen könnte dass der Zeitstempel vom verlassen/schließen der App genommen wird und beim erneuten Öffnen/in Erscheinung treten der App einfach die Differenz berechnet und somit der Fortschritt errechnet wird.
Vielleicht könnt ihr mir weiter helfen wie so etwas normalerweise umgesetzt wird.
 
START_STICKY hab ich schon versucht, bringt leider nichts. Ebenso wie
START_REDELIVER_INTENT.
Service wird nach einiger Zeit immer gestoppt.
 
Und was ist mit "foreground service is a service that the user is actively aware of and isn't a candidate for the system to kill when low on memory"?
 
Und was ist mit "foreground service is a service that the user is actively aware of and isn't a candidate for the system to kill when low on memory"?
danke für den tipp, foreground services habe noch nicht bedacht!

Könnte das hier vielleicht eine Rolle spielen?
macht es auch wenn ich sonstige apps vorher schliesse.
Abgesehen davon, es gibt doch viele spiele die man schliesst oder in den Hintergrund bringt. Einen Tag später z.b. ist der Spielfortschritt um genau diesen tag fortgeschritten, unabhängig von freiem Speicher.
Darum möchte ich ja wissen wird so eine Problematik evt. anders gelöst als mit Services.
 
Würde mal behaupten, dass diese Spiele nicht die ganze Zeit über im Hintergrund laufen, sondern das über eine (serverseitige) Berechnung läuft sobald die App wieder geöffnet wird.
Die Aussage ist aber mit Vorsicht zu genießen.
 
Wobei es auch Offline Spiele (konkret: tiny towers) gibt die beim öffnen den neuen fortschritt präsentieren.
Hab das Spiel runtergeklappt und laufende Dienste kontrolliert -> läuft kein Dienst.
 
Also ich hab jetzt sehr viel gestöbert in allen möglichen Foren und Seiten und habe herausgefunden dass wie von mir schon vermutet einfach der Spielfortschritt im Hintergrund errechnet wird mit der Zeit die die App im Hintergrund war!
Danke für die flotten Antworten!!
 

Zurück
Oben