AlertDialog 显示滞后

AlertDialog Display Lag

我有一个需要一些时间来执行的进程,deleteImages。我希望 UI 线程在此任务执行时被阻塞。我试图创建一个 AlertDialog 并在 deleteImages 开始之前显示它,因此不仅仅是无法解释的挂起时间。但是,即使我在调用 deleteImages 之前调用了 dialog.show(),对话框也只会在 deleteImages 完成后显示。我做错了什么?

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
LayoutInflater inflater = getLayoutInflater();
View content = inflater.inflate(R.layout.deletion_dialog, null);
builder.setView(content);

AlertDialog dialog = builder.create();
dialog.show();

deleteImages(dataStringsToDelete);

在异步任务中尝试 运行 你的 deleteImages(dataStringsToDelete); 并在 OnPostExecute()

中隐藏你的对话框

像这样:

new AsyncTask<Void, Void, Void> {
 protected Long doInBackground(Void... void) {

     deleteImages(dataStringsToDelete);

 }

 protected void onPostExecute(Long result) {
     dialog.dismiss();
 }
}.execute()