У меня задача отображать небольшое скролящееся окошко из большого куска данных, не хочется все в памяти держать, курсор адаптер, как мне кажется, тут идеален.
вообще, есть вариант, но он нарушает принцип layered architecture, обернуть доступ к таблице в реализацию List<T> со внутренним кэшем, скажем записей на 50 и отслеживать положение окна виртуализации внутри, и как подходишь к границам - создавать запрос в бд с курсором, читать, конвертить, закрывать курсор. Тоесть имеем БД адаптер, который снаружи выглядит как лист. Из плюсов - последовательный доступ быстрый как из памяти, рандомный - жопа. Только его надо через какую-то фабрику создавать. Можно даже страничное кэширование наладить с перекрытием страниц и при переходе в один буфер загружать во второй. Я всё никак не собирусь такой написать, работы чёртова куча, а отпуска не придвидится под это дело.