갈 방법이 아니다. AsyncTask
가능한 한 가지 문제점은 현재 접근 방식에서 대기 시간을 대략 3 초로 근사하지만 가능한 한 작업 완료 후 즉시 AsyncTask
으로 계속 진행할 수 있다는 것입니다. 비동기 작업은 기본적으로 UI를 차단하지 않고 배경에서 무언가를 실행할 수 있습니다. 그러나 작업이 끝날 때까지 응용 프로그램과의 사용자 상호 작용을 차단하는 진행 대화 상자를 표시하도록 구성 할 수도 있습니다. 난 당신이 게시물은 // HERE GOES YOUR BACKGROUND WORK
의 장소에서 작업을 지연 배치 제안
public class ProgressTask extends AsyncTask<Void, Void, Boolean> {
/** progress dialog to show user that the backup is processing. */
private ProgressDialog dialog;
/** application context. */
private Activity activity;
public ProgressTask(Activity activity) {
this.activity = activity;
dialog = new ProgressDialog(context);
}
protected void onPreExecute() {
this.dialog.setMessage("Please wait");
this.dialog.show();
}
@Override
protected void onPostExecute(final Boolean success) {
if (dialog.isShowing()) {
dialog.dismiss();
}
}
protected Boolean doInBackground(final Void... args) {
// HERE GOES YOUR BACKGROUND WORK
}
}
: 여기
백그라운드에서 뭔가를 실행하고 진행 대화 상자를 보여줍니다 비동기 작업의 예입니다.
목록보기 또는 전체 활동에 대해서만 사용을 중지 하시겠습니까 (사용자가 귀하의 응용 프로그램에서 전혀 작업을 수행 할 수 없게하십시오). –
전체적으로 활동하고 싶습니다. – Programmer
그리고 한 가지 더 질문 : 사용자가 계속하기 전에 일부 백그라운드 프로세스가 먼저 완료되기를 원하기 때문에 실제로이 작업을 원하십니까? (또는 다른 특별한 이유가 있습니까?) –