На что установить CursorAdapter (контекстный контекст, Cursor c, int flags), чтобы он работал с CursorLoader?

Документы Google указывают не использоватьCursorAdapters первый конструктор,

CursorAdapter(Context context, Cursor c)

Есть только два других варианта,

CursorAdapter(Context context, Cursor c, boolean autoRequery)

который говорит

Constructor that allows control over auto-requery. It is recommended you not use this, but instead CursorAdapter(Context, Cursor, int). When using this constructor, FLAG_REGISTER_CONTENT_OBSERVER will always be set.`

а также

CursorAdapter(Context context, Cursor c, int flags)`

который говорит, что это рекомендуемый конструктор.

Проблема в том, что здесь есть только два флага, которые можно использовать с последним конструктором,FLAG_AUTO_REQUERY(int 1) иFLAG_REGISTER_CONTENT_OBSERVER(int 2). С помощьюFLAG_AUTO_REQUERY не имеет смысла, потому что я сейчас использую CursorLoader для управления им в фоновом режиме, а также для его обновления. СFLAG_REGISTER_CONTENT_OBSERVER, он говорит, что его не нужно при использованииCursorLoader.

Теперь я спрашиваю, какое целое число я передаюCursorAdapter(Context context, Cursor c, int flags) чтобы он работал нормально с моимCursorAdapter? Меня беспокоит, как правильно управлять старым курсором. Я не совсем уверен, правильный способ сделать это.

Если я используюFLAG_REGISTER_CONTENT_OBSERVERтогда я должен что-то сделать сonContentChanged(), но при использованииswapCursor() в моемLoaderManager, так как курсор не закрыт, я мог бы просто сделатьadapter.swapCursor(cursor).close(), Но будет ли это противоречитьonContentChanged() вCursorAdapter? Цель состоит в том, чтобы не вызывать утечки памяти и быть эффективной.

Ответы на вопрос(1)

Ваш ответ на вопрос