在项目中需要用到多线程操作数据库,这里的多线程是指绕过数据库的锁机制,同时对数据库进行读写。
也就是说在对数据库读的同时,可以对数据库进行写操作,而不需要等待数据库读操作完成。
实现原理:
我们知道,sqlite的一个数据库是一个单独的 db 文件,这时可以使用两个数据库文件,一个
负责对数据库写,一个负责对数据库读,然后再合并数据。
解决方法:
其实SQLiteDataBase 在API 11 多了一个 属性
在Android开发中,通过启用SQLite的WRITE_AHEAD_LOGGING特性,可以在API 11及以上版本实现多线程读写数据库。开启此功能后,写操作会在单独文件进行,不会阻塞读操作,待写操作完成后,再将更改合并到原始数据库文件,从而实现读写并行,但可能增加内存消耗。
在项目中需要用到多线程操作数据库,这里的多线程是指绕过数据库的锁机制,同时对数据库进行读写。
也就是说在对数据库读的同时,可以对数据库进行写操作,而不需要等待数据库读操作完成。
实现原理:
我们知道,sqlite的一个数据库是一个单独的 db 文件,这时可以使用两个数据库文件,一个
负责对数据库写,一个负责对数据库读,然后再合并数据。
解决方法:
其实SQLiteDataBase 在API 11 多了一个 属性

被折叠的 条评论
为什么被折叠?