android - android viewmodel 在哪个线程中运行?
问题描述
我是Android数据绑定的初学者。在mvvm架构模式中,当我们在viewmodel中编写代码时。在哪个线程中运行在主线程或单独的线程中。
解决方案
您可以检查使用Thread.currentThread()
方法
在 Activity 的 onCreate 方法中放 log
Log.d(TAG, Thread.currentThread());
在 Viewmodel 的构造函数中放置另一个日志
Log.d(TAG, Thread.currentThread());
您将看到相同的线程 ID。另一个示例是,当您尝试在视图模型中执行数据库或网络操作而不使用 AsyncTask、Thread 或 RxJava 时,它会抛出无法在 MainThread 上执行操作的异常。
我希望这能帮到您
推荐阅读
- docker - 使用 docker 使用 Chromedriver 时出错
- json - 使用 Powershell 部署 Azure Policy
- php - php mailer根据动态生成的表格发送多封电子邮件
- sql - 如何在 Postgis 上更快地进行选择查询
- c++ - DirectX 不正确的纹理
- c# - Ubuntu 18 中 .NetCore 上的 process.StandartInput() 出现 BrokenPipe 错误
- c# - C# 表单应用程序 - 通过单击另一个按钮停止正在进行的进程
- json - 如何使用 beanshell 预处理器更新 jmeter 中的 JSON 节点值
- javascript - puppeteer 白色或灰色屏幕截图
- swift - Swift 错误:“EnumName”有一个依赖于自身的原始类型