IntentService wird beendet, nachdem ich meine Anwendung beendet habe

Ich beziehe mich aufÜberlegungen zum Android-Design: AsyncTask vs Service (IntentService?)

Nach der Diskussion,AsyncTask ist nicht geeignet, da es eng an Ihre Aktivität gebunden ist

Also starte ich einThread (Ich nehme an, AsyncTask und Thread gehören zur selben Kategorie), haben eine Endlos-Laufschleife und haben die folgenden Tests durchgeführt.

I Verlassen meine Anwendung, indem Sie die Soft-Taste "Zurück" gedrückt halten, bis ich den Startbildschirm sah. Thread läuft noch.I töten Meine Bewerbung geht anApps verwalten -> App -> Stopp erzwingen. Thread ist gestoppt.

Also erwarte ich nach meinem Wechsel vonThread zuService, meinService werde auch nach mir am Leben bleibenVerlassen odertöten meine App.

Intent intent = new Intent(this, SyncWithCloudService.class);
startService(intent);
public class SyncWithCloudService extends IntentService {
    public SyncWithCloudService() {
        super("SyncWithCloudService");
    }

    @Override
    protected void onHandleIntent(Intent intent) {
        int i = 0;
        while (true) {
            Log.i("CHEOK", "Service i is " + (i++));
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                Log.i("CHEOK", "", ex);
            }
        }
    }
}
    // Doesn't matter whether I use "android:process" or not.
    <service 
        android:name="com.xxx.xml.SyncWithCloudService" 
        android:process=".my_process" >
    </service>

Meine Erkenntnis ist jedoch, dass

I Verlassen meine Anwendung, indem Sie die Soft-Taste "Zurück" gedrückt halten, bis ich den Startbildschirm sah. Dienst läuft noch.I töten Meine Bewerbung geht anApps verwalten -> App -> Stopp erzwingen. Der Dienst wurde gestoppt.

Es scheint, dass das Verhalten vonService undThread sind gleich. Also, warum sollte ich verwendenService anstattThread? Gibt es etwas, das ich verpasst hatte? Ich dachte meineService Angenommen, ich laufe weiter, auch nachdem ich meine App beendet habe?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage