我了解到您可以按照以下代码在Android中设置CursorSize。
try {
Log.d("CURSORFIELD", "Before setField");
Field field = CursorWindow.class.getDeclaredField("sCursorWindowSize");
field.setAccessible(true);
iNewCursorSize = 5120 * 1024;
iCursorsSize = field.getInt(null);
Log.d("CURSORFIELD", "NewCursorsSize");
Log.d("CURSORFIELD", Integer.toString(iNewCursorSize));
Log.d("CURSORFIELD", "ActualCursorsSize");
Log.d("CURSORFIELD", Integer.toString(iCursorsSize));
if(iCursorsSize < iNewCursorSize){
Log.d("CURSORFIELD", "In setField");
field.set(null, 5120 * 1024);
iCursorsSize = field.getInt(null);
Log.d("CURSORFIELD", Integer.toString(iCursorsSize));
}
} catch (Exception e) {
e.printStackTrace();
}
我正在使用cordova插件cordova-sqlite-storage与sqllite数据库进行通信。但是使用2MB的标准光标大小,我将需要处理大约3-5 MB的文件。
我尝试了不同的方式,也许有人知道或可以告诉我,我必须在Plugin的哪个位置设置CursorsWindowsSize,以便可以将大于2MB的文件插入数据库。
感谢您的帮助。