首页 > 解决方案 > 架构组件的视图模型类存在于哪个线程(UI/Background)?

问题描述

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

标签: androidwebrtcandroid-architecture-componentsandroid-viewmodel

解决方案


ViewModel只是一个与Activity/一起实例化的类Fragment。通过线程是另一种情况,与Viewmodel. 不要忘记,如果一个类扩展了ViewModel它将有它自己的生命周期

我是否也必须像在活动中那样在视图模型中的单独线程中执行后台任务?

所以答案是肯定的。Activity, Fragment, ViewModel, Presenter,Interactor或其他只是类。如果您在任何地方执行异步或繁重的操作,您将跳转到线程。即使我们根本不Android说话


推荐阅读