解决Android数据库锁的问题

来源:互联网 发布:la域名注册 编辑:程序博客网 时间:2024/05/01 12:03
产生数据库锁的原因,就是因为多个SQLiteOpenHelper,多数据库操作,导致读写竞争。数据库被锁住

1 对一个数据库操作只创建1个SQLiteOpenHelper。最好保存一个全局的SQLiteOpenHelper,用单例实现。退出进程的时候,再清空单例
2 多进程操作数据库,使用ContentProvider,且声明成android:multiprocess="false"。多进程单实例。否则在2.3等低端机器上,还是可能会出现数据库锁的问题。
3 在单进程的情况下,使用greeddao,不会参数数据库锁的问题。因为只使用了1个SQLiteOpenHelper。
   当在多进程的情况下,还是会被锁住,还是得使用ContentProvider。见2.
0 0