<分区>
我有一个方法,我只想在不在主线程上时调用它(做繁重的工作),如果它是从主线程调用的,我会抛出运行时异常,类似于您尝试执行时发生的情况主线程上的网络调用,你会得到一个 NetworkOnMainThreadException
我还没有找到关于这个问题的任何信息,所以有什么办法吗?
<分区>
我有一个方法,我只想在不在主线程上时调用它(做繁重的工作),如果它是从主线程调用的,我会抛出运行时异常,类似于您尝试执行时发生的情况主线程上的网络调用,你会得到一个 NetworkOnMainThreadException
我还没有找到关于这个问题的任何信息,所以有什么办法吗?
最佳答案
您可以将当前线程与主 Looper
之一进行比较
if (Thread.currentThread() == Looper.getMainLooper().getThread())
throw new IllegalStateException();
关于java - 检查从哪个线程调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290733/