应该在UI线程中调用findviewbyid吗?

And*_*ndy 5 java android

问题是:我应该Activity.findViewById只在UI线程中调用吗?

我问的原因是我从任意线程调用它并且它完美无缺.但后来我从其中一个用户那里得到了一个例外:findViewByIdNPE某个地方失败了findViewTraversal.

那么,它可能是原因吗?

Ish*_*tar 5

Android UI工具包不是线程安全的,必须始终在UI线程上进行操作.

取自无痛线程.

因为它不是线程安全的,所以如果在另一个线程中使用API​​,则不知道会发生什么.它可能有效,它可能不起作用,它可能在大多数时间工作,可能永远不会工作或它可能工作并打破其他事情.你不能说.

因此,如果您需要正确的应用程序,则必须在UI线程中执行此操作.