Java 他们是否已将主线程更改为使用id=2?
我在应用程序中进行了检查,以查看当前线程是否为UI/主线程Java 他们是否已将主线程更改为使用id=2?,java,android,multithreading,android-8.0-oreo,Java,Android,Multithreading,Android 8.0 Oreo,我在应用程序中进行了检查,以查看当前线程是否为UI/主线程 public static boolean isMainThread(){ return Thread.currentThread().getId() == 1; } 我注意到,在安卓8中,主线程的名称为'main'&id=2 所以我改为: public static boolean isMainThread(){ return Looper.myLooper() == Looper.getMainLooper(); }
public static boolean isMainThread(){
return Thread.currentThread().getId() == 1;
}
我注意到,在安卓8中,主线程的名称为'main'&id=2
所以我改为:
public static boolean isMainThread(){
return Looper.myLooper() == Looper.getMainLooper();
}
那么,他们是否改变了这一点,或者是从一个新的开发人员设置?我在他们的更改列表中没有找到任何内容
不要复制标题中的问题标签。标题中没有任何指示
getId()==1
的特殊内容。您是否正在执行任何特殊操作,使您的应用程序与其他应用程序共享进程?您的检查不是很好,但在大多数情况下应该是1
。我想他们只是不知道您使用此方法确定主线程。:)只需使用以下常见代码:getMainLooper().getThread().equals(Thread.currentThread())
就可以了。不要复制标题中的问题标签。标题中没有任何指示getId()==1
的内容表示任何特殊的内容。您是否做了任何特殊的事情,导致您的应用程序与其他应用程序共享进程?您的检查不是很好,但在大多数情况下应该是1
。我想他们只是不知道您使用此方法确定主线程。:)只需使用以下常用代码:getMainLooper().getThread().equals(Thread.currentThread())
,然后忘记它。