gpt4 book ai didi

android - @MainThread 注释没有错误

转载 作者:太空狗 更新时间:2023-10-29 13:06:17 26 4
gpt4 key购买 nike

我有一个方法:

/**
* Call event without a value
*/
@MainThread
public void call() {
setValue(null);
}

我在这里称它为:

new Thread(new Runnable() {
@Override
public void run() {
stopNavigation.call();
}
}).start();

为什么没有抛出错误,因为我是从主线程外部进行调用的?我已经阅读了所有关于 @MainThread 注释的内容(来自 android.support.annotation),但没有任何信息告诉我注释的实际作用。

最佳答案

据我所知,AndroidStudio 仅在我们指定所有线程时显示有关线程的警告 enter image description here

这里是Activity中的一个例子,可以让注释工作

public class AActivity extends Activity {

@MainThread
protected void onCreate(Bundle savedInstanceState) {
...
getData();
}

@AnyThread
private void getData() {
new Thread(new Runnable() {
@WorkerThread // MUST DEFINE THREAD HERE
@Override
public void run() {
updateUI(); // annotation error here
}
}).start();
}

@MainThread
void updateUI() {

}

class A extends AsyncTask<Void, Void, Void> {
@WorkerThread // MUST DEFINE THREAD HERE
@Override
protected Void doInBackground(Void... voids) {
updateUI(); // annotation error here
return null;
}
}
}

关于android - @MainThread 注释没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47665243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com