这里的任何人都知道如何编写测试(或者理想情况下有这样的示例)来检查是否在UI-Thread上调用了一个方法?
发布于 2013-09-02 11:17:41
答案参考以下链接:
How to check if current thread is not main thread
How to know if this thread is a UI Thread
1) Looper.myLooper() == Looper.getMainLooper()
2) Android应用程序只有一个UI线程,因此您可以在活动回调(如onCreate() )中检查并存储其ID,然后只需将该线程的ID与存储的ID进行比较。
mMainThreadId = Thread.currentThread().getId();3)如果您想在UI线程上执行某些操作,并且通过以下方法对活动有任何引用
mActivity.runOnUiThread( new Runnable() {
@Override
public void run() {
...
}
});希望它能帮上忙
发布于 2013-09-02 11:17:21
UI线程总是有id = 1,所以您可以尝试检查:
if(Thread.currentThread().getId() == 1) {
///...
}https://stackoverflow.com/questions/18571860
复制相似问题