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