Intereting Posts
Отсутствует папка <sdk> / extras / google / google_play_services / libproject "после обновления до версии 30 Инструменты тестирования производительности для собственных мобильных приложений в iOS и Android Зависимость ViewPagerIndicator от Gradle и Android Studio MultiViewPager + ZoomOutPageTransformer работает неправильно Удаление фрагментов из FragmentStatePagerAdapter Как открыть существующий проект в Eclipse Eclipse / Android: «Ошибки, выполняемые застройщиком Android Pre Compiler» в проекте … » Анимация перед API 11 Android: сбой теста: сбой инструментария из-за «java.lang.IncompatibleClassChangeError» Как поместить некоторую задержку в вызове активности из другого вида деятельности? Скрытие пользовательского интерфейса системы на Lollipop Как добавить проект библиотеки в Android Studio и использовать его? (Некоторые из них не вступили в силу) Как проверить, зарегистрирован ли приемник в Android? PagerTitleStrip не отображает заголовки на первой странице отображения, заголовки выводятся только после прокрутки на другую страницу Конструкция андроида позволяет прокручивать, когда открыта мягкая клавиатура, но не сдвигает ее вверх

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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