Background Agents の現実

Windows Phone 7 で Socket と Background Agents がサポートされて、ひゃっほう!っとおもってたんですが、思ってたよりは制限があったのでメモを。

Windows Phone 7でサポートされるバックグラウンド動作は以下の通りです。

  • Generic Background Agents (開発者が自由に機能を作り込めるBackground Agent)
    • PeriodicTask (定期実行)
    • ResourceIntensiveTask (大量データ同期)
  • Background Audio Service
    • AudioPlayerAgent (ローカルファイル再生)
    • AudioStreamingAgent (ストリーミング再生)
  • Background Transfer Service
    • IsolatedStorage への保存、送信
  • Background Notification Service
    • Alarm
    • Reminder

この中でも注目度が高いのはGeneric Background Agentsなんですが、こんな感じで条件がついてます。

Periodic Resource-intensive
実行条件 30分に1回 外部電源があり、Wi-Fi接続中
制限時間 15秒 10分間

Socketの接続をプールできると思ってたので軽い肩すかしでした。