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()
我有一个需要一些时间来执行的进程,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()