在更改活动时保持线程处于活动状态



我在项目中使用AsynTask并执行一些任务,但当我更改活动时,后台任务会停止。现在,当我的活动发生变化时,如何保持线程的活力?

我的班级:

private class mytask extends AsyncTask<Void, Void, AlertDialog.Builder>{
Context contex;
mytask(Context contex)
{
this.context = context
}
protected AlertDialog.Builder doInBackground(Void... voids) {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
AlertDialog.Builder alertDialog =  new AlertDialog.Builder(context ,android.R.style.Theme_Material_Dialog_Alert);
alertDialog.setTitle("Tittle");
alertDialog.setMessage("Message");

return alertDialog;
}
@Override
protected void onPostExecute(AlertDialog.Builder Builder) {
super.onPostExecute(Builder);
Builder.show();
}
}

主类:

new mytask(this).execute() 
Intent intent = new Intent(this,NewClass.class);
startActivity(intent);

对于后台任务,您应该使用线程或服务。因此,您的后台任务不会在活动更改后结束。

最新更新