1

Samsung Galaxy Note 10、HTC Desire C、Sony Xperia E の 3 つの Android デバイスがあります。さらに、これらのデバイスの特定の TCP ポートでリッスンするサービスがあります。すべてのデバイスで WIFI ポリシーが「常時オン」に設定されています。私のサービスは WIFI_MODE_FULL と PARTIAL_WAKE_LOCK を取得するので、CPU と WIFI は常にそこにあります。しばらくして、サーバーからこれらのデバイスに接続しようとすると、問題が発生します。

  • Samsung Galaxy Note デバイスは常に正しく動作します
  • HTC Desire が到達不能になる
  • ソニーが到達不能になる

これらのデバイスに ping を実行して、存在するかどうかを確認しました。結果は次のとおりです。

  • Samsung デバイスは常に ping 要求に即座に正常に応答します
  • HTC や Sony のデバイスは、到達できない場合があり、応答する場合もあります。ただし、画面がオンの場合でも非常に長い遅延で応答します (ping の時間列は約 5000 ミリ秒になる場合があります)。

WIFI ポリシーにはいくつかの問題があることはわかっています。

画面がping時間になっているのに、なぜこのようになっているのですか? さらに、ウェイクロックを保持していても、画面が消えると CPU クロックが低下することがわかっています。この動作により、TCP 接続を処理するサービス コードで問題が発生する可能性はありますか?

4

1 に答える 1

1

メーカーは、バッテリ寿命が最も長いことを自慢できるようにしたいと考えています。そのために、彼らは既存の機能を骨の髄まで削ぎ落とし、そのバッテリー寿命を実現します。

確かに、それは問題を引き起こす可能性があり、実際に問題を引き起こす可能性がありますが、それは防御的にプログラミングする必要がある多くの理由の 1 つです。言い換えると、アプリケーションがパケットのドロップや遅延の可能性に対処する準備ができていることを確認してください。

うまくいけば、あなたの質問は完全に修辞的なものではなく、実際に答えが欲しかった.

于 2013-07-08T10:10:59.043 に答える