Как насчет AsyncTask
со ссылкой на статически сохраненный фрагмент (без пользовательского интерфейса), размещенный в Activity или другом фрагменте? Нет утечек памяти, элегантные асинхронные операции в отдельном потоке, нет потери ссылок на объекты.
Я думаю, что это будет нормально для http-запроса, но не для загрузки / выгрузки файлов. Если вы читаете внимательно, есть предложение:
Если вам необходимо поддерживать работу потоков в течение длительного времени, настоятельно рекомендуется использовать различные API, предоставляемые пакетом java.util.concurrent, такие как Executor, ThreadPoolExecutor и FutureTask.
Но они не упоминают, что служба с отдельным потоком также может быть хорошим вариантом. Это предназначено для продолжения выполнения задач в фоновом режиме, независимо от того, что делает пользователь. (например, если он загружает какой-то файл, вы не хотите останавливать это, потому что он оставил действие)
Эта ссылка для образцов - найдите RetainedFragment.java
Это ссылка для AsyncTask.