Выбор правильной политики координатора действий

Координатор действий предоставляет несколько политик шаблонов, которые следует выбрать на основе ресурсов, необходимых для вашей задачи.

Общие сведения о рабочей нагрузке действия

Определите необходимые ресурсы координатора действий и условия выполнения задачи. Профилирование задачи с помощью трассировки производительности — это хорошее место для запуска.

Выбор ресурсов

Выберите ресурсы, производные от трассировки производительности. Эти ресурсы должны быть теми, на которые будет влиять рабочая нагрузка действия. Не забывайте о ресурсах, которые вы неявно потребляют или влияют, такие как простой пользователя и мощность.

Выбор условий

Выберите условия на основе использования ресурсов рабочей нагрузки, как показано в трассировке производительности. В общем случае рекомендуется использовать лучшие условия для необходимых ресурсов и при необходимости обновлять политику с меньшими условиями, если она не соответствует вашим потребностям в течение требуемого периода времени. Начиная с лучших условий и переход к менее меньшим условиям предпочтительнее перед выполнением политики, если политика не удовлетворена (ее условия ресурса не удовлетворены) для удовлетворения каких-либо крайних сроков. Это дает API возможность свести к минимуму влияние действий пользователей и системы при увеличении возможностей для выполнения действия.

Для рабочих нагрузок с незначительным или низким потреблением ресурсов, такие как ACTIVITY_COORDINATOR_CONDITION_MEDIUM , могут быть доступны без негативного влияния на систему. Рабочие нагрузки с более высоким потреблением лучше подходят для использования условий, когда использование, скорее всего, влияет на взаимодействие с пользователем, например ACTIVITY_COORDINATOR_CONDITION_GOOD. Такие рабочие нагрузки, скорее всего, могут привести к значительному влиянию при использовании менее меньших условий, и эти последствия могут не быть временными в природе. Например, использование Интернета в условиях средней сети может привести к финансовым затратам для пользователя, если эта сеть измеряется и взимается.

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

Крайний срок

Могут быть различные ограничения времени, связанные с вашим действием. Более длительные работы или работы, которые должны начинаться или быть завершены относительно коротким временем, могут быть лучше обслуживаются с помощью меньших условий, чтобы повысить вероятность открытия политики. Более короткие трудоемкие или трудоемкие требования к свободному времени могут соответствовать их потребностям, используя лучшие условия. В течение более длительных периодов целевая система, скорее всего, будет иметь периоды низкого потребления ресурсов. Если крайний срок приближается, рекомендуется уменьшить политику, если не было достигнуто достаточного прогресса, прежде чем использовать регулярные методы выполнения после или по подходу к крайнему сроку. После завершения повторной работы можно переключиться на исходную политику.

Политики шаблонов

API поставляется с набором политик шаблонов для типичного рабочего профиля, который можно использовать для тривиально начала работы с API. Для большинства программ, которые выполняют локальные вычисления, рекомендуется использовать политики шаблонов.

Рекомендуемая политика

Указанные политики шаблонов, если вы не уверены, какой из них следует выбрать, ACTIVITY_COORDINATOR_POLICY_TEMPLATE_GOOD должны соответствовать счету в большинстве случаев. Эта политика сведет к минимуму влияние пользователей, обеспечивая достаточную вероятность того, что политика будет достаточно открытой для завершения работы разработчика.

Настройка политик шаблонов

Политики шаблонов могут опустить некоторые ресурсы (например, GPU), которые могут не потребоваться в общих случаях использования. На основе ожидаемой рабочей нагрузки политику можно настроить с помощью политик шаблона в качестве отправной точки.

Создание политик с нуля

Разработчики, которым требуется полный контроль, могут начинаться с пустой политики: ACTIVITY_COORDINATOR_POLICY_TEMPLATE_EMPTY. Однако для этих сценариев рекомендуется начать с ACTIVITY_COORDINATOR_POLICY_TEMPLATE_BASE, что указывает минимальные рекомендуемые ресурсы и условия, которые применяются к большинству ситуаций. Это помогает убедиться, что важные условия ресурсов не ошибочно опущены при настройке политики с нуля, таких как простой пользователя, ЦП и ресурсы питания.

Общие сведения об API координатора действий

API и терминология координатора действий

Пример проекта координатора действий