对于Android SQLite的Cursor出错,Android123在 SQLite出错提示CursorWindow need to grow: mSize 一文中介绍过,从Android源码可以看到framework中限制大小为#define MAX_WINDOW_SIZE (1024 * 1024)
即1MB的数据量,一般的数据库类型Integer和Text相对好些,遇到单个较大的二进制Blob类型可能会显得比较吃力。解决方法Android开发网建议大家从源头分析
Cursor c=getContentResolver.query(null,null,null,null) ,如果这四个参数都为空的话,限制较少,内存占用较大,这里我们可以通过第二个参数限制查询部分字段即可,当然分段查询,比如第一次从记录0-500,第二次查询从501-1000,对于计算数量,SQLite支持rawQuery方法,select count(*) form cwj_tables 这样的SQL语句,可以直接获取出某个表的记录数量,都比较方便。
RSS