Intereting Posts
Андроид уведомлять, когда цель startActivity завершена? Найти отсутствующий onError в проекте Отключение анимации в ViewPager Автоматически подписывать приложения с паролем в муравье OnClickListener () должен переопределить метод суперкласса? Как удалить отступ / маркер макета по умолчанию Android-Войти через Google plus «Произошла внутренняя ошибка» Разъяснение документов для PendingIntent.FLAG_CANCEL_CURRENT Как получить все имена таблиц в базе данных android sqlite? Как возобновить синхронизацию репо Как очистить уведомления с помощью оболочки ADB Android / Eclipse перемещало рабочую область с одного компьютера на другой компьютер Использует библиотеку событий, такую ​​как Otto или EventBus, рекомендуемый способ обработки отношений между действиями, фрагментами и фоновыми потоками Динамический центр Aligned ViewPager Android SSLServerSocket вызывает увеличение собственной памяти в приложении, OOM

В чем разница между безголовым фрагментом и службой на Android?

обслуживание

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

Безголовый фрагмент

Фрагменты могут использоваться без определения пользовательского интерфейса. Для фоновой обработки рекомендуется использовать безглавые фрагменты.

В чем тут разница?

Solutions Collecting From Web of "В чем разница между безголовым фрагментом и службой на Android?"

Service s получает более высокий приоритет, чем Activity s на уровне процесса. Когда память низкая, система Android будет приоритизировать Service s по Activity s, что делает Service идеальным вариантом для долговременных задач. Для получения дополнительной информации см. Статью « Процессы и потоки» .

Кроме того, когда вы указываете следующее в своем исходном сообщении:

Фрагменты могут использоваться без определения пользовательского интерфейса. Для фоновой обработки рекомендуется использовать безглавые фрагменты.

Откуда вы это цитируете? Я согласен с первым предложением, но второе предложение является слишком общим. Для коротких задач (например, выполнения HTTP-запросов и т. Д.) Фрагменты без головы работают нормально. Однако для выполнения длительной фоновой обработки (например, загрузки очень большого файла и т. Д.) Фрагмент без головы может быть не таким, каким вы хотите. Например, если вы использовали безгласный фрагмент для выполнения долговременной задачи, и пользователь нажал кнопку «Назад», это приведет к уничтожению как Activity и его обезглавленного Fragment .

Подводя итог, служба является фоновым компонентом, который существует независимо от Activity , что означает, что он может продолжать работать в фоновом режиме, даже если Activity которая начала службу, была уничтожена. С другой стороны, безголовый фрагмент всегда будет иметь связанную родительскую Activity . Если действие, в котором размещен фрагмент, будет уничтожено системой, тогда фрагмент также должен быть убит.

Вообще говоря :

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

Услуги предназначены для инкапсуляции обработки . Они более независимы (и, следовательно, также более тяжелые, ресурсные мудрые), чем фрагменты; Они сидят на другом уровне абстракции и могут прослужить дольше в системе.

Между ними есть перекрытие.

Безголовый фрагмент-фрагмент без ui, в основном используемый для хранения объекта большого размера


Сервис – его долговременная задача, запускаемая андроидом, мы можем установить приоритет для обслуживания даже приложения. Готовая услуга не остановится, если ее работа не будет завершена.