Загрузка данных в фоновой задаче

Добрый день, столкнулся с такой проблемой.

Есть необходимость выгрузить некий большой файл, но перед этим загрузить большую коллекцию сущностей с помощью dataLoader’а.
Хотел использовать для этого фоновые задачи, но там указано, что использовать загрузчики данных в методе run() нельзя.
Проблема именно в том, что загрузка данных большая и хотелось именно её запихнуть в эту фоновую задачу. А блокировать UI на время загрузки из бд совсем не хочется.

Не подскажете, есть ли какой-то другой вариант/аналог загрузчика, который можно использовать в фоновом потоке?

Добрый день,

dataLoaders как и другие элементы UI библиотеки, использовать в run() нельзя, т.к. UI библиотека не поддерживает многопоточность. Метод run() должен быть функцией, превращающей параметры в результат.

Если запрос на загрузку данных известен заранее (или имеет 1-2 динамических варианта), то загрузка данных реализуется через DataManager (или вызов самописного сервиса среднего слоя).

Если же у вас над коллекцией есть компонент типа Filter, который генерирует динамические условия к запросу, и вы хотите, чтобы данные загружались с учетом этих условий и в фоне, то это не очень просто, потребует определенного программирования.

К сожалению, видимо именно последний вариант и необходим. Благодарю за ответ!