在我的应用程序中,我使用的是Helper类的单个实例,这意味着我只有一个数据库连接。
public static MyHelper getInstance(Context context) {
if (instance == null) {
synchronized (MyHelper.class) {
if (instance == null) {
instance = new MyHelper(context);
}
}
}
return instance;
}
由于我只使用一个连接,因此我对数据库的所有操作都将被序列化。这意味着即使我使用多个线程,也不需要我处理同步。它将由Sqlite照顾。但奇怪的是,有时我得到数据库被锁定的异常。那么这个例外的原因是什么呢?如何避免这种例外?