Android “实施后进度”对话框项目运行非常缓慢

Android “实施后进度”对话框项目运行非常缓慢,android,android-asynctask,Android,Android Asynctask,我已经实现了进度条,但是,在实现后,这个进度条会长期旋转,请帮助解释为什么运行得很慢。如果我要删除进度对话框,只需30秒,在实现进度后需要60秒以上 我使用这个代码 class ProgressBarshow extends AsyncTask<String, String, String> { private ProgressDialog pdia; @Override protected void onPreExecute() { su

我已经实现了进度条,但是,在实现后,这个进度条会长期旋转,请帮助解释为什么运行得很慢。如果我要删除进度对话框,只需30秒,在实现进度后需要60秒以上

我使用这个代码

 class ProgressBarshow extends AsyncTask<String, String, String> {
     private ProgressDialog pdia;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pdia = new ProgressDialog(Cases.this);
        pdia.setMessage("Loading...");
        pdia.show();
    }
    @Override
    protected String doInBackground(String... f_url) {
        adapter = new ListViewAdapter(Cases.this,url);
        return null;
    }
            @Override
    protected void onPostExecute(String file_url) {
         pdia.dismiss();
        listshowcase.setAdapter(adapter);
    }
}
class ProgressBarshow扩展了异步任务{
私家侦探;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pdia=新建进度对话框(Cases.this);
pdia.setMessage(“加载…”);
pdia.show();
}
@凌驾
受保护的字符串doInBackground(字符串…f_url){
adapter=新的ListViewAdapter(Cases.this,url);
返回null;
}
@凌驾
受保护的void onPostExecute(字符串文件\u url){
pdia.discouse();
setAdapter(适配器);
}
}

您是否正在尝试更新doInBackground中的ui?如果你不应该,我不想更新ui,@RaghunandanI猜测你的后台计算需要更长的时间。它与进度对话框无关。引用文档中的话“AsyncTasks最好用于短期操作(最多几秒钟)。如果您需要让线程长时间运行,强烈建议您使用java.util.concurrent pacake提供的各种API,如Executor、ThreadPoolExecutor和FutureTask”。我使用的是,但是由于这也花费了更多的时间,我已经删除了这个……….progressUpdate(最终字符串…progress){//设置进度百分比Save.this.runOnUiThread(new Runnable(){public void run(){pDialog.setProgress(Integer.parseInt(progress[0]))我不认为这是这次经济放缓的原因。这是你在后台做的事(计算耗时较长)