使用嵌套的Runnable在UI线程上运行东西

时间:2013-07-08 06:44:53

标签: android multithreading runnable

在发现Google重新设计AsyncTask中的线程模型后,现在出现了阻塞代码的主要错误,我选择放弃使用AsyncTask并只使用Threads和Runnables,所以请不要在AsyncTask上发表任何评论因为那不是我的讨论。我想知道的是,以下是否是实现在UI线程上运行东西的嵌套Runnable的正确方法:

private class MyOuterRunnable implements Runnable
{
  @Override
  public void run()
  {
    int x = 1;

    // Do something on the UI thread.
    runOnUiThread(new Runnable()
    {
      public void run()
      {
        // Update a listview, etc.
      }
    });
  }
}

在大多数情况下,这似乎有效,但我在某些模块中遇到崩溃,我这样做。这是从嵌套的Runnable中执行UI内容的正确方法,还是应该以不同的方式执行?所有LogCat告诉我,嵌套的runnable中发生了致命错误,但没有提供任何详细信息。

0 个答案:

没有答案