绑定是否使用线程?

时间:2018-04-02 08:32:51

标签: android sqlite android-databinding

我使用Android数据绑定库:

process_class

我有自定义视图。对于此自定义视图,我将数据绑定到视图模型。在我调用数据绑定方法时,我还想从SQLite数据库加载其他数据(我使用sqlite3.c和头文件)。这个对数据库的调用发生在视图模型绑定时的视图模型中。

数据加载始终失败,android.dataBinding { enabled = true } 位于segmentation fault。如果我在数据绑定发生之前或之后将数据加载到视图模型,则完全相同的代码可以正常工作。

根据我对SQLite documentation的理解sqlite3_mutex_enter()只有在已经有另一个线程进入互斥锁时才会失败。

我看不出这会发生什么。 所以我想知道Android数据绑定库是否使用了线程?

1 个答案:

答案 0 :(得分:0)

绑定发生在UI线程上。我不确定为什么会出现异常,但ViewModel在后台线程中从数据库中获取数据是一种很好的做法。我在ContentProviders中包装我的数据库调用,然后在ViewModel中使用CursorLoader为我执行线程。