Я только что реализовал CursorLoader, и он отлично работает! На самом деле, я не верил, что мой ListView будет автоматически обновляться при изменении базовых данных, пока не протестировал его. Очевидно, это магия setNotificationUri.
Мой вопрос: как он узнает, когда данные в курсоре изменились? Скажем, я незаметно вставляю куда-нибудь дополнительную строку. Базовый механизм постоянно запрашивает базу данных и сравнивает ее с прошлыми данными? Не будет ли это ужасно неэффективным, если наборы данных большие?
Прежде чем я использовал загрузчики курсоров, я вручную обновлял их при необходимости. Замечательно, что мне больше не нужно этого делать, но эффективно ли позволить CursorLoader делать это в фоновом режиме?