避免NetworkOnMainThreadException

lor*_*off 1 networking multithreading android exception networkonmainthread

我知道GUI线程上不允许网络操作.对我没问题.但为什么在Dialog按钮单击回调上使用此代码仍然产生NetworkOnMainThreadException

new Thread(new Runnable() {                         
  @Override
  public void run() {
    heavyAndTimeConsumingOperation();
  }
}).run();
Run Code Online (Sandbox Code Playgroud)

也许我不会以这种方式产生一个新线程?

SLa*_*aks 9

你需要打电话.start(),而不是.run().

.run()是您实际执行的覆盖方法.
.start()是系统提供的实际启动线程的方法.

  • 嗯......我可以用一个关于时空矩阵的新问题来改变这个愚蠢的问题吗? (3认同)