Android显示进度对话框,直到活动UI完成加载

Android显示进度对话框,直到活动UI完成加载,android,android-activity,Android,Android Activity,嗨, 我试图在活动加载时显示ProgressDialog。 我的问题是,虽然我完成了活动中的所有工作 加载活动需要很长时间,我怀疑这是因为我使用了 具有多个ListView的多个视图,在viewflipper中具有自定义阵列适配器。 显示UI需要很长时间 我如何检查活动中的所有UI是否已完成加载 或者有没有办法预加载所有活动和UI 谢谢,请使用Asynctask new DownloadTask().execute(); private class DownloadTask exte

嗨, 我试图在活动加载时显示ProgressDialog。 我的问题是,虽然我完成了活动中的所有工作 加载活动需要很长时间,我怀疑这是因为我使用了 具有多个ListView的多个视图,在viewflipper中具有自定义阵列适配器。 显示UI需要很长时间

我如何检查活动中的所有UI是否已完成加载

或者有没有办法预加载所有活动和UI

谢谢,请使用Asynctask

  new DownloadTask().execute();


  private class DownloadTask extends AsyncTask<String, Void, Object> {

    protected void doInBackgroind(Void... arg0){
    //Do time Consuming Processing
    publishProgres()
    return null;
    }

    protected void onProgressUpdate(Void... arg0){
    }

    protected void onPostExecute(Void... result){
    log.i("AvtivityInfo", "activity finished loading...");
    }

}    
newdownloadtask().execute();
私有类DownloadTask扩展了AsyncTask{
受保护的void doInBackgroind(void…arg0){
//进行耗时的处理
出版进度()
返回null;
}
受保护的void onProgressUpdate(void…arg0){
}
受保护的void onPostExecute(void…result){
log.i(“AvtivityInfo”,“活动已完成加载…”);
}
}    

如果您认为您需要一个
进度对话框,因为您的活动打开太慢,那么您会遇到更大的问题。Android可能会通过“活动未响应”错误终止您的活动

您可以变得复杂并使用它来发现您的性能问题,也可以进行实验。例如,您可以跳过在
列表视图中设置适配器,以确认问题确实存在


据我所知,Jorgesys在他现在删除的条目中找到了正确的答案。我怀疑加载适配器需要时间,可能是在数据库查询中,您需要将其中的一部分转移到
AsyncTasks

不确定这是否有效。。。我得自己试一试。这到底有什么帮助?我的问题是,UI没有显示,即使活动已经收到所有可见的初始化消息,例如“public void on windowfocuschanged(boolean hasFocus)”所有UI内容都是在创建时显示的,我怀疑listview适配器在后台做了一些事情,这是主要问题问题问题不是“任务”这里不涉及下载、通信或任何异步操作,它只是从XML加载资源,所有这些都发生在OnCreate中,只需不到一秒钟的时间即可完成,但是UI只有在8秒左右的时间后才真正可见。请尝试此示例了解,在UI中显示进度对话框,直到数据完全加载。如果您在8秒钟后看到UI,这意味着有一个进程阻塞了您的UI,可能是您的ArrayAdapter加载。我同意ArrayAdapter加载是导致UI不可见的原因,我的问题是如何检查加载是否完成?您是否在与UI相同的线程上执行“工作”?在同一个线程上加载您的ListView和其他内容将阻止活动的显示。我正在创建时执行此工作,以便生成视图,然后调用setContentView();然而,OnCreate()完成了,对OnStart()和OnResume()的所有调用也都完成了,但我只在8秒钟后看到了UI。这就是没有DB查询,除了处理绘图和布局之外什么都没有。我想不出应该把什么分解成异步任务,因为所有的工作都是在OnCreate中完成的,它非常快。ArrayAdapter是否异步加载?如果是这样,有没有办法检查它何时完成加载?@totem:“ArrayAdapter加载异步吗?”没有。