三年前还在一个项目组使用GreenDao框架操作数据库,然后被调到另外一个项目,发现项目中使用SQLite基本使用的方式管理数据库。然后发现中间出现很多小插曲....
在使用SQLite基本用法的时候,注意的地方
1.读写数据的时候一定会使用到getReadableDatabase()getWritableDatabase这两个方法,一定要记close()关闭数据库。
2.在关闭数据库的时候一定要判断是不是还有其他的地方调用数据还在在使用中,如果强制关闭会导致正在使用数据库的地方报错,所以可以使用一个数值计算的方法管理。打开数据库+1,关闭数据库-1,当值为0的时候才能调用close方法。
优化的地方
1.一定要记得定时删除无用的数据,为啥说定时不是立马?因为有时候出现问题的时候需要查看数据库做对比,比较久的无用数据就不用作对比了。
2.定时更新数据库,在没有更新数据库之前,我们可以把这个数据库的部分表数据做一个缓存比如人员表,基本信息表,这样可以避免重复使用数据库。
当然了在新项目里面已经开始使用Room框架操作数据库,不用考虑数据库打开关闭的冲突报错。