DBFlow падает при выборе модели.Слишком много файлов (2062) - PullRequest
0 голосов
/ 23 октября 2018

При выборе модели с использованием 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;
}

Поскольку курсор получаетзакрыто, в чем может быть ошибка при открытии слишком большого количества файлов?

...