lundi 15 février 2016

Will using single database connection to sqlite never throw LockedException?

In my application, I am using a single instance of the Helper class which means that I have only one database connection.

     public static MyHelper getInstance(Context context) {
    if (instance == null) {
      synchronized (MyHelper.class) {
        if (instance == null) {
          instance = new MyHelper(context);
        }
      }
    }
    return instance;
  }

And as I am using only one connection, all my operations to the database will be serialized. It means that even if I am using multiple threads there is no need for me to take care of synchronization. It will be taken care by Sqlite. But strangely sometimes I am getting the exception that the database is locked. So what can be the reason for this exception ? How can this exception be avoided ?

Aucun commentaire:

Enregistrer un commentaire