Завязывая себя на активити вы лишаете себя такой вещи как кеширование, предзагрузка, да и гибкости в целом. Все библиотеки используют статический подход, что бы не требовать дополнительной инициализации в манифесте (для удобства пользователя либы). Лучше использовать класический подход Activity (pзапрос севису на загрузку и подписка на изменения Content Provider) -> Service (загрузка c изменением статуса в Content Provider). Это при условии что вы не хотите использовать библтотеки. Да и библиотеки в любом случае лучше использовать в сервисе, хотя статический подход библиотек дает им возможность отвязаться от жизненого цикла активити, предоставляя тот или иной механизм колбеков.
Судя по вашей логике сама концепция Loaders's это эксперимент
Обмен с Cursor реализовать через ContentProvider и локальную базу данных. AsyncTaskLoader тогда тоже не нужен, все в Servis переносим
Кеширование Loader как раз позволяет реализовать
Предзагрузка, это в какой момент? После включения телефона? Loader можно запустить в Activity.onCreate
Судя по вашей логике сама концепция Loaders's это эксперимент
У некоторых действительно возникают крамольные мысли относительно того насколько Loader-ы (ровно как и AsyncTask-и ) являются элегантным механизмом работы с асинхронными задачами.
Android Volley custom Loader