Как сделать CursorAdapter в чистой архитектуре Android?
Вопрос по чистой архитектуре. Есть CursorAdapter. На его плечах получается и управление View и чтение из базы что не очень вписывается в разделение на независимые слои. Как правильно организовать CursorAdapter в чистой архитектуре? Пробрасывать объект базы(cursor) через все слои в адаптер как то не выглядит правильным
CursorAdapter же был создан специально для того, чтобы устройства не офигевали от необходимости создавать огромное количество моделей. Если перейти на "нормальные модели" - это не аукнется потом в плане производительности? Или же современные (плюс-минус два-три года) девайсы спокойно вытягивают работу с большим количеством моделей в адаптере в большинстве случаев?
Artem Gapchenko: А какое у вас "большое" количество моделей? Если их тысячи, то показывать их в одном списке в любом случае бессмысленно.
И попробуйте посчитать, сколько весят все ваши модели против парочки битмапов.
Ну и у курсорадаптера есть фатальный недостаток - он не поднимает в память всё выборку, там есть некие страницы (мегабайт, если я не ошибаюсь), по исчерпанию которых он лезет в БД на мейнтреде.
О, а вот о том, что он выборки на главном потоке делает, я не знал, спасибо большое.
Ну вот например приложение-мессенджер, у него потенциально может быть огромное количество элементов-сообщений в одном списке, так что это осмысленно. Хотя, с другой стороны, там можно подгружать новые элементы по мере скроллинга и выкидывать из адаптера сообщения, от которых мы уже далеко отскроллились, чтобы не захламлять память. В общем спасибо за ответ, есть над чем подумать.