我知道有时会有一个注释@MainThread, 但并非在所有情况下。
例如,在视图类中,我如何知道一个方法是否可以或不可以、应该或不应该从主线程调用,或者我可以从计算线程调用它?
与应用程序 UI 相关的所有内容都应该在主线程中运行,否则您很可能会得到
Exception
。
为了更具体地回答您的问题,您可能希望确保直接从主线程调用视图内的任何内容。但同样,当有疑问时,尝试一下,如果你做错了什么,你会得到一个例外。
将功能移至主线程的几种方法是使用
Looper. getMainLooper()
,或使用 Kotlin 协程和 Dispatchers.Main
调度程序。