При выборе модели с использованием DBFlow (SQLite.select().from(Schedule.class).where(Schedule_Table.id.eq(scheduleId)).querySingle()
) я получаю следующую ошибку:
невозможно открыть файл базы данных (код 2062)
###########################################################Код ошибки: 2062 (SQLITE_CANTOPEN_EMFILE) Причина: в приложении
открыто два файла.Максимальное количество доступных файловых дескрипторов в одном процессе по умолчанию составляет 1024.(невозможно открыть файл базы данных (код 2062))
#
Я что-то не так делаю или это ошибка в библиотеке DBFlow?Код сбоя DBFlow:
@SuppressWarnings("unchecked")
@Nullable
public TModel convertToData(@NonNull final FlowCursor cursor, @Nullable TModel data,
boolean moveToFirst) {
if (!moveToFirst || cursor.moveToFirst()) {
if (data == null) {
data = getInstanceAdapter().newInstance();
}
getInstanceAdapter().loadFromCursor(cursor, data);
}
return data;
}
эта функция выполняется следующей функцией, здесь вы можете видеть, что курсор закрывается:
@Nullable
public TReturn load(@Nullable FlowCursor cursor, @Nullable TReturn data) {
if (cursor != null) {
try {
data = convertToData(cursor, data);
} finally {
cursor.close();
}
}
return data;
}
Поскольку курсор получаетзакрыто, в чем может быть ошибка при открытии слишком большого количества файлов?