1
我有疑問,可以自動還判定是否sqlbrite接近光標,它似乎並沒有做到這一點,因爲我不斷收到:SQLBrite是否自動關閉遊標?
java.lang.Throwable: Explicit termination method 'close' not called at dalvik.system.CloseGuard.open(CloseGuard.java:180) at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:809) at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:793)
,但我沒有看到任何docs指出我應該明確要求cursor.close
。
編輯1
這裏是什麼給了我一個遊標不關閉錯誤的代碼段:
DbProvider.db(getActivity()).createQuery(Item.NAME, sqlQuery, selectionArgs).mapToList(new Func1<Cursor, ItemEntity>() {
@Override
public ItemEntity call(Cursor cursor) {
return new ItemEntity(cursor);
}
}).subscribe(itemEntities -> {
Debug.info(this, "items " + itemEntities);
}, Throwable::printStackTrace,() -> {});
問題是我在調用'db.createQuery'之前使用了加載器API,因爲我正在將代碼遷移到sqlbrite,所以它似乎在那裏引發了一個錯誤。 – Necronet
來自sqlitebrite的github問題的官方答案:https://github.com/square/sqlbrite/issues/94 – Necronet