架构组件的视图模型 class 存在于哪个线程 (UI/Background)?

Which thread (UI/Background) does view model class of architecture components lives?

我构建了一个基于 webrtc 的通话应用程序。截至目前,所有代码都在 Activity 中,因此正如预期的那样,它在配置更改时效果不佳。我正在考虑将所有 WebRTC 代码放入视图模型并从视图模型更新 UI。我是否也必须像在 activity 中那样在视图模型中的单独线程中执行后台任务。目前我在 activity 中使用 java 线程。

当然必须。 ViewModel只是一个class,它默认不在工作线程中工作。

ViewModel 只是一个 class,它与 Activity/Fragment 一起实例化。 thread threads是另外一种情况,与Viewmodel无关。不要忘记,如果 class 扩展 ViewModel 将有其自己的 lifecycle.

Do I've to do background tasks in separate thread in view model too like I did in activity?

所以答案是肯定的。 ActivityFragmentViewModelPresenterInteractor 或其他只是 class。无论您身在何处,如果执行异步或繁重的操作,您都会跳转到线程。即使我们根本不说话 Android