2015-12-30 6 views
2

У меня возникла проблема с моим Android-приложением. Я столкнулся с этой проблемой:Приложение SQLiteOpenHelper открыло слишком много файлов

SQLiteOpenHelper: Caused By: Приложение открыло слишком много файлов. Максимальное количество доступных дескрипторов файлов в одном процессе составляет 1024 по умолчанию.

(неизвестная ошибка (код 2062): Не удалось открыть базу данных)

Что может быть возможной причиной этой проблемы? Большое спасибо за помощь!

+2

Вы не закрываете свой объект sqllite после совершения транзакции. без надлежащего источника невозможно обнаружить основную причину. –

+0

ах! вы бы знали, как это сделать? –

+0

закрыть объект базы данных sqllite. перейти к строке, отображающей ошибку и закрыть объект базы данных. –

ответ

1

я натыкался с той же проблемой, и мне удалось решить путем закрытия курсора, вызвав следующую команду, где я оставил его открытым:

cursor.close();

Я создавал новый объект класса Cursor внутри цикла, не закрывая его. Хотя на небольших итерациях цикла он работал нормально, после того, как данные стали больше и повторялись итерации цикла, я начал эту проблему.

Также, как это предлагается в комментариях эксперта, убедитесь, что вы закрыли любой объект из базы данных SQlite, как только вы закончите.

Смежные вопросы