Недостатки андроида не закрывать курсор

У меня есть некоторые вопросы относительно Cursor .

Я хочу знать, каковы недостатки не закрытия Cursor ?

Он освобождает ресурсы, но какие ресурсы освобождены?

Если мы не закрываем Cursor ? Каковы будут последствия и в какой степени?

Не закрытие Cursor не влияет на Activity немного, но оно дает ошибку в log cat.

Закрытие Cursor предотвратит любые утечки памяти, поэтому да, они всегда должны быть закрыты, когда они больше не используются.

Курсор – это только интерфейс. Многое зависит от реализации, какого конкретного класса, который реализует этот интерфейс, который вы используете …

В случае с SQLiteCursor существует немало вещей, которые нужно очистить (это от Froyo):

 @Override public void close() { super.close(); deactivateCommon(); mQuery.close(); mDriver.cursorClosed(); } 

Не закрывая курсор, данные все равно должны быть согласованы, но вы собираетесь утечка памяти …

Я не думаю, что вы увидите много проблем, забывая закрыть один курсор. Проблема (и это касается почти любой утечки памяти) заключается в том, что если вы будете продолжать делать это снова и снова, в конечном итоге произойдет что-то плохое.

Например, я написал приложение, которое загружает данные из SQLite DB устройства на сервер. Если бы я не закрывал курсор каждый раз, когда я делал чтение и запись из базы данных, в конечном итоге я столкнулся с ошибками из-за памяти и различными другими проблемами.

Если вы не закрываете курсор, тогда у вас будут проблемы с доступом к вашим данным в вашей базе данных, потому что, когда база данных открыта, она недоступна, если что-то произойдет, например, действие приостановлено или иначе. В частности, эту проблему можно смягчить, если вы позволите Управлению управлять ею.