1

我一直在尝试设置一个 ProgressDialog (这有点工作),但它似乎在大约 2-3 次旋转后冻结(小轮子的动画)。数据最终确实会加载,并且 ProgresssDialog 被关闭 - 所以,除了它在 2-3 次旋转后冻结之外,一切正常。

这是代码的片段:

// setting up loader
summaryLoader = ProgressDialog.show(SummaryView.this, "", "Loading summary...", false, true);

// settings up and starting the helper thread that's going to load the summery data
Thread t = new Thread() {
  @Override
  public void run() {
    _populateSummary();
  }
};
t.start();

我在运行 Android 1.6 的 Entourage Edge 上运行它。

我确实阅读了有关 1.6 和动画冻结的一些问题,但我想我会试一试,看看这里是否有人有一些想法。

4

1 回答 1

0

我认为虽然它在线程上运行,但仍然需要相当多的 CPU 使用率。您可以在启动线程之前尝试设置线程的优先级,看看它是否解决了您的问题,尽管它会对执行速度产生影响。

 t.setPriority(Thread.MIN_PRIORITY);

否则尝试使用异步任务

在后台线程完成之前,Android ASync 任务 ProgressDialog 不会显示

于 2010-12-01T13:24:01.863 回答