Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 他们是否已将主线程更改为使用id=2?_Java_Android_Multithreading_Android 8.0 Oreo - Fatal编程技术网

Java 他们是否已将主线程更改为使用id=2?

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(); }

我在应用程序中进行了检查,以查看当前线程是否为UI/主线程

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())
,然后忘记它。