、 Transferring Data Without Draining the Battery は特に 無線に関連して、ダウンロード およびネットワーク接続のバッテリ寿命への影響を最小限にする方法を説明します。特にOptimizing Downloads for Efficient Network Access で
は、いくつかの詳細に無線ステートマシンを説明し、アプリの接続モデルは、関連するバッテリの消耗を最小限に抑えること と対話する方法を説明するために、 に行きます。
無線ステートマシン
Reference
あなたはラジオがフルパワー状態に移行する新しいネットワーク接続を作成するたびに。この移行には通常約2秒かかります。そのため、レイテンシを最小限に抑えるために、無線は遅延を導入して低エネルギー状態への移行を延期します。
通常の3G無線は、転送が完了してから5秒間フルパワーになり、低エネルギー状態でさらに12秒待ってからスタンバイ状態に移行します。合計で、あなたが接続するたびに、ラジオはほぼ20秒間電力を消費します。
このアプローチは、アプリケーションがフォアグラウンド(待ち時間が重要な場合)とバックグラウンド(バッテリ寿命を優先させる場合)の両方で動作する最新のスマートフォンOS上で実行されているアプリケーションの非効率を招く可能性があります。
ソリューション
は、お使いのバッテリーにダウンロードの影響を最小限にするための鍵は、転送の頻度はダウンロードの大きさよりも劇的な影響を与えていることを認識しています。実際には、プリフェッチやキューイング/バンドルの転送は特に効果的です。
接続を開始するたびに無線が約20秒間電力を消費する可能性があることを知っているので、データ転送をバンドルして、類似した各転送セッション中にできるだけ多くのデータを転送して、セッション数を最小限に抑えるようにします。
同様に、プリフェッチを使用すると、単一のバースト内で、必要な可能性があるすべてのデータを、1回の接続で最大容量でダウンロードできます。転送をフロントローディングすることで、データのダウンロードに必要な無線アクティベーションの回数を減らし、バッテリ寿命を延ばし、レイテンシを改善し、帯域幅を削減し、ダウンロード時間を短縮します。
しかし、プリフェッチも使用されていないデータをダウンロードすることにより、電池の消耗や帯域幅の利用を増加させる危険性を紹介します。もしプリフェッチがダウンロードされると、それの可能性が使用されているデータのサイズによって異なりますどのように積極的に
。一般に、データをプリフェッチして、2〜5分ごとに1〜5メガバイトのオーダーで別のダウンロードを開始するだけで済むようにすることをお勧めします。
それはかなり新しいものを作成するよりも、既存のネットワーク接続を再利用することも一般的に、より効率的です。また、接続を再利用することで、ネットワークは輻輳や関連するネットワークデータの問題に、よりインテリジェントに対応することができます。