1

画面にテキストと少しのグラフィックを表示する簡単なアプリケーションを作成しました。私は Nexus 7 を使用しています。これはインストール用であり、1 日 12 時間連続して使用する必要があります。ただし、プラグインして充電しているにもかかわらず、私のアプリケーションは約 8 時間 (10 ~ 15% / 時間) でバッテリーを完全に消耗します。

めったに変更されないテキストとグラフィックとは別に、私のアプリケーションは次の 2 つのことを行います。

画面を最大の明るさで( 経由でWindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)オンに保ちます。と

1つDatagramSocketsは UDP クライアントとして機能し、もう 1 つは UDP サーバーとして機能します。これらのソケットは両方とも自動的に開かれ、私が使用しているライブラリOSCP5によって管理されます。オープンソースなので、必要に応じてハッキングできますが、少ないほど良いです。(キス)

Nexus 7 のバッテリー寿命を、アプリを実行せず、画面を最大輝度にし、29 分ごとにくすぐりを鳴らしてスリープ状態にならないようにして、バッテリーの消耗がまったくない状態で数時間テストしました。そのため、兆候はソケットを指しているようです。これらのソケットで頻繁に通信することはありません。毎分約数 KB を受信します (インストールの別の部分とのユーザーの対話に基づく)。

特にソケットやその他の一般的なテストを使用して、バッテリーの消耗を最小限に抑えるか排除するためにできることはありますか? 私は 12 時間だけ乗り切る必要がありますが、プラグを差し込んだままフル充電を維持するのはそれほど難しいことではないようです...

4

3 に答える 3

1

3 か月後、エンドレスなヘッド デスク バンギングの後、犯人は私の USB ランであることが判明しました。全長は約 20 フィートから 25 フィートで、長さはライン全体に伝わるパワーを減衰させます。解決策:電源付き USB ハブ

そのため、答えは Android やプログラミングとはまったく関係のないものになりました。申し訳ありません。

于 2013-07-22T20:38:24.323 に答える
1

ただし、プラグインして充電しているにもかかわらず、私のアプリケーションは約 8 時間 (10 ~ 15% / 時間) でバッテリーを完全に消耗します。

Nexus 7 は何に接続していますか? ほとんどのタブレット (Android + iPad) に必要な種類の高速充電 USB ポートを利用できると思います。これをさまざまな USB ポートに接続している場合、結果の可能性が高くなることがわかります。

そのため、兆候はソケットを指しているようです。

それらは確かに候補ですが、デバイスの充電中に WiFi ラジオがオンになる可能性があるため、少し驚かれることでしょう。私には、これは CPU の問題のように感じられます。つまり、ブロックするのではなく、ビジー待機中か何かです。

特にソケットやその他の一般的なテストを使用して、バッテリーの消耗を最小限に抑えるか排除するためにできることはありますか?

多くの CPU 時間を消費している場所を Traceview が指摘するかどうかを確認します。充電ポートの問題を調査します。ソケットの動作を模擬するようにアプリを変更し、問題が解決しないかどうかを確認します。問題が解決しない場合、問題はソケットではありません。

于 2013-05-13T23:28:37.320 に答える