Зачем вообще избегать `Cursor.getCount ()`, когда `moveToNext ()` все равно вызывает его? - PullRequest
0 голосов
/ 03 февраля 2019

Обычная мудрость гласит, что нужно избегать вызовов Cursor.getCount () , потому что это дорогостоящая операция.После прочтения исходного кода AbstractCursor кажется, что все стандартные операции, включая moveToNext, moveToFirst и moveToPosition все, вызывают getCount внутренне!

Так какой смысл избегатьВы вообще это называете?

РЕДАКТИРОВАТЬ: добавлена ​​гиперссылка на документы для Android

РЕДАКТИРОВАТЬ: Возможно, я исправлен?У меня сложилось впечатление, что Курсор может предоставить движущееся окно для больших наборов данных, полная длина которых может быть известна только после того, как окно просмотрит весь набор хотя бы один раз.Следовательно, вызов getCount вызовет полную загрузку / итерацию, а moveToNext продвигает окно только по мере необходимости.

...