2016-07-18 5 views
0

Ich habe eine einfache App in Android Studio codiert. Was es macht, ist nicht wichtig, aber es beginnt ein Service mit Context.startService(Intent i). Bis jetzt ist alles in Ordnung, ABER wenn ich alle Aufgaben mit meinem Task-Manager auf meinem Telefon erledige, wird der Dienst ebenfalls beendet und damit wird die Benachrichtigung erstellt! Ich verstehe nicht warum.Android: Service wird gestoppt, wenn RAM-Speicher gelöscht

Übrigens: Ich habe return START_STICKY am Ende meines Service verwendet. Und es wurde von der Timer-Klasse mit Timer.scheduleAtFixedRate(TimerTask task, int delay, int period) gestartet/geplant. Der Dienst wurde von meiner Hauptanwendung oder vom BroadcastReceiver gestartet, der BOOT_COMPLETED empfangen hat. Der Timer wurde auch nicht abgebrochen.

Ich hoffe, Sie werden mein Englisch entschuldigen.

Antwort

0

Dienste, die mit startService gestartet werden, stoppen nicht, bis ein expliziter Aufruf - stopService für diesen bestimmten Dienst ausgeführt wird. Ein anderer Fall, wenn der Dienst stoppt, wenn das Telefon mehr Speicher benötigt, stoppt die Hintergrunddienste und Anwendungen. In Ihrem Fall tun Sie genau das gleiche. Wenn Sie auf Alle Aufgaben killen klicken, wird der Speicher gelöscht, was genau dann der Fall ist, wenn das Telefon keinen Speicher mehr hat und mehr Speicherplatz benötigt. In diesem Fall werden die Dienste gestoppt und die Sticky-Dienste neu gestartet. Nun, wie man den Neustart des Dienstes richtig zu behandeln, suchen Sie bitte Clearing-Speicher stoppt Dienste Android und Sie werden eine Reihe von Antworten auf Stackoverflow gezeigt werden!