Каков механизм setNotificationUri?

Я только что реализовал CursorLoader, и он отлично работает! На самом деле, я не верил, что мой ListView будет автоматически обновляться при изменении базовых данных, пока не протестировал его. Очевидно, это магия setNotificationUri.

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

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

27
задан Bhagwad Jal Park 3 August 2012 в 20:27
поделиться