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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
Android中@UiThread和@MainThread注释之间有什么区别?_Android_Annotations - Fatal编程技术网

Android中@UiThread和@MainThread注释之间有什么区别?

Android中@UiThread和@MainThread注释之间有什么区别?,android,annotations,Android,Annotations,我以为和是一回事 @MainThread是启动应用程序时开始运行的第一个线程 @UiThread从主线程开始呈现用户界面 同样来自Android文档 注意:@MainThread和@UiThread注释是可互换的,因此允许对这些注释使用来自任一线程类型的方法调用 更完整的解释:如果系统应用程序在不同线程上具有多个视图,则UI线程可能与主线程不同。因此,您应该使用@UiThread注释与应用程序的视图层次结构关联的方法,并仅使用@MainThread注释与应用程序的生命周期关联的方法。我不明白什么

我以为和是一回事

@MainThread是启动应用程序时开始运行的第一个线程

@UiThread从主线程开始呈现用户界面

同样来自Android文档

注意:@MainThread和@UiThread注释是可互换的,因此允许对这些注释使用来自任一线程类型的方法调用


更完整的解释:如果系统应用程序在不同线程上具有多个视图,则UI线程可能与主线程不同。因此,您应该使用
@UiThread
注释与应用程序的视图层次结构关联的方法,并仅使用
@MainThread

注释与应用程序的生命周期关联的方法。我不明白什么是@MainThread注释及其用法。你能解释一下吗。这将非常有帮助。注释如何“检查”可能重复?抛出异常<代码>线程注释检查方法是否从同一线程调用。他们只是将其命名为UI线程,因为这是UI呈现发生的地方,将来实现可能会更改。这不是100%正确的,不仅仅是不同的命名,正如文档所述:>注意:通常,应用程序的UI线程也是主线程。但是,在特殊情况下,应用程序的UI线程可能不是其主线程;有关更多信息,请参见<尽管我不得不承认我不知道这些特殊情况是什么:注释如何“检查”?抛出异常<代码>线程注释检查是否从调用方法