managedQuery()
будет использовать запрос ContentResolver (). Разница в том,
что при managedQuery()
активность сохранит ссылку на ваш
Курсор и закройте его, когда это необходимо (например, в onDestroy()
). Если
вы query()
сами, вам придется управлять курсором как
чувствительный ресурс. Если вы забудете, например, close()
это в
onDestroy()
, вы утечете базовые ресурсы (logcat предупредит вас
об этом.)
Чтобы запросить контент-провайдера, вы можете использовать либо метод ContentResolver.query()
, либо метод Activity.managedQuery()
. Оба метода принимают один и тот же набор аргументов, и оба возвращают объект Cursor. Однако managedQuery()
заставляет действие управлять жизненным циклом Курсора. Управляемый курсор обрабатывает все тонкости, такие как выгрузка себя, когда действие приостанавливается, и запрос себя при возобновлении действия. Вы можете попросить Activity начать управлять неуправляемым объектом Cursor, позвонив по номеру Activity.startManagingCursor()
.
Обновление:
managedQuery
устарела (начиная с Android 3.0).