Android SQLiteException: database is locked异常的解决办法
来源:互联网 发布:mysql 32位 64位 编辑:程序博客网 时间:2024/06/06 02:31
Android系统支持sqlite数据库,这给我们的使用带来了很大的方便。但使用Android系统访问sqlite数据库时,有时可能会遇到android.database.sqlite.SQLiteException: database is locked异常,例如
这个异常基本上由两个原因引起的
1、sqlit自身问题
有时我们会在调试程序的时候发现Log控制台频繁的出现上述异常,而在运行程序的时候就没有这个问题,这种现象我在调试ResultSet时也会出现,查资料找原因是因为sqlite数据不完全是线程安全的,导致在一些地方会莫名其妙的出问题,如果遇到这样的情况,那只能不要将断点打到数据库连接的地方。
2、多个线程访问导致数据库被锁
如A线程在访问当前的数据库,这时候B线程也需要访问数据库,这样在B线程中,就会有类似以上的异常产生,我们需要将提供数据库访问的方法设置成同步的,防止异步调用时出现问题,如:
使用synchronized 关键字来修饰获取数据库连接的方法,或者使用isDbLockedByOtherThreads方法判断数据库是否被锁住了,然后等待一定的时间再进行访问。public static synchronized DBConnection getConnection(String connectionName) throws Exception { String pathFile = getPath() + connectionName;// 转换目录data下 return new DBConnection(SQLiteDatabase.openDatabase(pathFile, null, SQLiteDatabase.OPEN_READWRITE)); }
- SQLiteException: database is locked异常的解决办法
- SQLiteException: database is locked异常的解决办法
- Android SQLiteException: database is locked异常的解决办法
- android.database.sqlite.SQLiteException: database is locked
- SQLiteException:errorcode 5: database is locked
- Android SQLiteDatabaseLockedException: database is locked
- Android SQLiteDatabaseLockedException: database is locked
- svn: E200033: database is locked解决办法
- android.database.sqlite.SQLiteException: no such table错误出现的原因及解决办法
- 解决android: SQLiteDatabaseLockedException: database is locked
- FMDB中出现的database is locked
- android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)
- Android Database 并行访问 SQLiteDatabaseLockedException: database is locked 解决方案
- android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5)问题解决
- sqlite database is locked
- svn database is locked
- SVN database is locked
- sqlite database is locked
- struts2入门
- IAR contains unknow tools 解决方法
- OpenMP并行构造的schedule子句详解
- Cocos2d-x游戏开发之CC_SAFE_RELEASE
- Android之用PopupWindow实现弹出listview形式菜单
- Android SQLiteException: database is locked异常的解决办法
- action中获取request对象方法
- android dev ------ Android开发之广播机制
- Win7(32位)下安装vs2010安装失败Error code -939523550
- PHP网站安全,PHP程序安全的几个措施
- 简单有效-禁止其他人到你电脑上用QQ
- 初学opencv小记-对像素的操作
- POJ 1105 S-Trees (模拟)
- java遍历Properties并排序输出