我使用Android数据绑定库:
process_class
我有自定义视图。对于此自定义视图,我将数据绑定到视图模型。在我调用数据绑定方法时,我还想从SQLite数据库加载其他数据(我使用sqlite3.c和头文件)。这个对数据库的调用发生在视图模型绑定时的视图模型中。
数据加载始终失败,android.dataBinding
{
enabled = true
}
位于segmentation fault
。如果我在数据绑定发生之前或之后将数据加载到视图模型,则完全相同的代码可以正常工作。
根据我对SQLite documentation的理解sqlite3_mutex_enter()
只有在已经有另一个线程进入互斥锁时才会失败。
我看不出这会发生什么。 所以我想知道Android数据绑定库是否使用了线程?
答案 0 :(得分:0)
绑定发生在UI线程上。我不确定为什么会出现异常,但ViewModel在后台线程中从数据库中获取数据是一种很好的做法。我在ContentProviders中包装我的数据库调用,然后在ViewModel中使用CursorLoader
为我执行线程。