4

バックグラウンドタスクの概要の20ページによると、ネットワークリソースの制約の下で、バックグラウンドタスクは15分ごとに4.69MBをダウンロードできます。

つまり、Windows RTで、バックグラウンドでIE10メトロ経由で20MBのファイルをダウンロードする場合、40分以上かかるということですか?(それ以外の場合は、ダウンロードの進行状況を前面に表示する必要があります)

また、バックグラウンドアプリケーションとして、0.002%を超えるCPUを使用することは許可されていません。

同じページで、彼らはそれを次のように主張しました:

ネットワークの使用は、デバイスのバッテリーの大幅な消耗を表す可能性があるため、バックグラウンドタスクの実行中にも制約されます。ただし、デバイスがAC電源で実行されている場合、バックグラウンドタスクはネットワークに制約されません。必要なだけのネットワーク帯域幅を自由に使用できます(もちろん、キャリア固有の帯域幅や使用上の制約によってゲートされます)。デバイスがAC電源で実行されている場合でも、バックグラウンドタスクのCPU使用率は常にリソースに制約があることに注意してください。

これらの理由から、Windows RT用のダウンロードマネージャーを実装することはできませんか?ユーザーの同意を得てどうですか?

4

2 に答える 2

1

リンクされたドキュメントからわかる限り、バックグラウンドタスクのデータスループットの量は、特定のデータ値ではなく、ネットワークデバイスに電力を供給するために使用されるエネルギー量に基づいています。4.69MBは、ほとんどの標準的な住宅用インターネット接続よりも遅い10Mbpsの例にすぎません。

また、リンクした段落にあるように、デバイスが主電源に接続されている場合は制限がないため、デスクトップPCやほとんどのラップトップで問題が発生することはありません。制限を回避するようにユーザーに依頼できるという兆候はありません。

そうです、ダウンロードマネージャーを作成できます。ユーザーがアプリをどこでどのように使用しているかを認識し、それに応じて調整する限り、正常に機能するはずです。

于 2012-10-09T05:52:31.457 に答える
1

システムによるバックグラウンド管理のためにダウンロードをオフロードするためのAPIがあります 。これに関するMikeTaultyのブログエントリを参照してください。バックグラウンドモードのWinRTアプリには、ブログの投稿やフォーラムでは通常説明されていない他の重大な制限があります。たとえば、バックグラウンドタスクがアプリとは別のプロセスまたはスレッドアパートメントで実行されるという事実です。上記にリンクされているホワイトペーパーのセクションを参照してください。バックグラウンドタスクホスト実行可能ファイル。バックグラウンドタスクがPushNotificationTriggerまたはControlChannelTriggerでない限り、タスクはBackgroundTaskHost.exeまたはWWAHost.exeによって実行されるinprocサーバーであると表示されます。「同じアプリで」実行する最初の2つのケースでも、別のアパートにあります。これらはすべて、ファイルまたはApplicationDataストレージにマーシャリングすることによってのみメインアプリとデータを共有できます。

ControlChannelTriggerを試してみたところ、次の制限が見つかりました(それらを掘り下げると、ドキュメントにもリストされます)。

  • ソケットを接続する前に、チャネルをソケットに関連付ける必要があります
  • ソフトウェアチャネルが指定されている場合でも、アプリは限られた数のControlChannelしか使用できません(私の場合は6)
于 2012-10-24T19:49:17.083 に答える