Wird die Instanziierung einer AsyncTask von einem WakefulBroadcastReceiver empfohlen?

Ich kann ein instanziierenAsyncTask vonWakefulBroadcastReceiver (sehenmeine Motivation zu bevorzugenAsyncTask ÜberService), z.B.,

public abstract class AlarmReceiver extends WakefulBroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {   
        new AsyncTask<Void,Void,Void>(){
            @Override
            protected Void doInBackground(Void... v) {
                while (true) {
                    SystemClock.sleep(7000);
                    Log.w("", "alive");
                }
            }
        }.execute();
    }

}

Aber ist das empfehlenswert? Speziell,Gibt es Probleme mit dem Lebenszyklus?&nbsp;im Zusammenhang mit der Instantiierung einesAsyncTask&nbsp;von einemWakefulBroadcastReceiver? Zum Beispiel kann meinAsyncTask&nbsp;vorzeitig getötet werden?

(Ich weiss ich kannSchließen Sie die AsyncTask in einen Dienst ein, aber das scheint übertrieben?)

Antworten

Instanziieren einesAsyncTask&nbsp;von einemWakefulBroadcastReceiver&nbsp;ist schlecht beraten, da alles, was durch a instanziiert wirdBroadcastReceiver&nbsp;wird vom System als tötbar angesehen, sobald dieonReceive()&nbsp;Methode gibt zurück, d. h. das System kann tötenAsyncTask. Dank ancorsair992.

SehenProzesslebenszyklus&nbsp;Weitere Details zu tötbaren Prozessen.