適切なアクティビティ コーディネーター ポリシーを選択する

アクティビティワークロードを理解する

タスクに必要なアクティビティ コーディネーター リソースと、タスクを実行する条件を決定します。 パフォーマンス トレースを使用してタスクをプロファイリングすることをお勧めします。

リソースの選択

パフォーマンス トレースから派生したリソースを選択します。 これらのリソースは、アクティビティ ワークロードが影響を受けるリソースである必要があります。 ユーザー アイドルや電源など、暗黙的に使用または影響を受けるリソースを忘れないでください。

条件の選択

パフォーマンス トレースで確認されているように、ワークロードのリソース消費量に基づいて条件を選択します。 一般に、必要なリソースに最適な条件を使用することをお勧めします。また、必要に応じて、必要な期間内にニーズを満たさない場合は、より少ない条件でポリシーを更新することをお勧めします。 期限を満たすために、ポリシーが満たされていない (リソース条件が満たされていない) ときに実行する前に、最適な条件から始めて、より少ない条件に移行することをお勧めします。 これにより、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から開始することをお勧めします。 これにより、ユーザー アイドル、CPU、電源リソースなど、ポリシーを最初から構成するときに、重要なリソース条件が誤って省略されないようにすることができます。

アクティビティ コーディネーター API の概要

アクティビティ コーディネーター API と用語

アクティビティ コーディネーターのサンプル プロジェクト