Heim > Fragen und Antworten > Hauptteil
错误日志如下:
2016-09-30 01:29:59 E/IMemory ( 1187): cannot map BpMemoryHeap (binder=0xbecdfee8), size=462848, fd=74 (Out of memory)
2016-09-30 01:29:59 F/libc ( 1187): Fatal signal 11 (SIGSEGV) at 0xffffffff (code=1), thread 1199 (Binder_2)
2016-09-30 01:29:59 E/CursorWindow( 1187): Could not allocate CursorWindow '/data/data/../**.db' of size 2097152 due to error -1
2.
2016-09-30 01:29:59 E/getDataNums( 1187): Cursor window allocation of 2048 kb failed.
代码如下:
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
List<KidListModel> kidList=new ArrayList<>();
if(db.isOpen()) {
Cursor cursor = null;
try {
if (TextUtils.isEmpty(CurClassId)) {
cursor = db.query("KidList", null, null, null, null, null, null);
} else {
cursor = db.query("KidList", null, "class_id = ?", new String[]{CurClassId}, null, null, null);
}
if (cursor.moveToFirst()) {
do {
KidListModel kid = new KidListModel();
kid.setId(cursor.getString(cursor.getColumnIndex("kid")));
kid.setName(cursor.getString(cursor.getColumnIndex("name")));
kid.setSafe_gate_pic(cursor.getString(cursor.getColumnIndex("safe_gate_pic")));
kid.setClass_id(CurClassId);
kidList.add(kid);
} while (cursor.moveToNext());
}
} catch (Exception e) {
Log.e("loadClassKids", e.getMessage());
} finally {
if (cursor != null) {
cursor.close();
}
}
}
return kidList;
sqlite已经有单例化:
public synchronized static SignDataBase getInstance(Context context){
if (signDataBase == null){
signDataBase = new SignDataBase(context);
}
return signDataBase;
}
ringa_lee2017-04-18 10:06:59
finally {
if (cursor != null) {
cursor.close();
}
// 加上以下程式:
if (db != null) {
db.close();
}
}