É recomendável instanciar uma AsyncTask a partir de um WakefulBroadcastReceiver?

Eu posso instanciar umAsyncTask deWakefulBroadcastReceiver (Vejominha motivação para favorecerAsyncTask sobreService), por exemplo.,

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();
    }

}

Mas isso é recomendável? Em particular,existem problemas no ciclo de vida associado a instanciar umAsyncTask a partir de umWakefulBroadcastReceiver? Por exemplo, meuAsyncTask ser morto prematuramente?

(Eu sei que possoagrupar o AsyncTask dentro de um serviço, mas isso parece exagero?)

Responda

Instanciando umAsyncTask a partir de umWakefulBroadcastReceiver é desaconselhável, pois qualquer coisa instanciada por umBroadcastReceiver será considerado eliminável pelo sistema quando oonReceive() método retorna, ou seja, o sistema pode matarAsyncTask. Graças acorsair992.

Vejociclo de vida do processo para mais detalhes sobre processos executáveis.

questionAnswers(0)

yourAnswerToTheQuestion