私のアプリでは、バックグラウンドサービスがあり、このサービスは定期的な操作(UIスレッドで実行できない入出力操作)これは:Androidサービスで起動されたスレッドは、デバイスがオンになるまで停止します
while(!stop){
do_io_things();
Thread.sleep(5000);
print_log();
}
私は、デバイスが、スレッドが5秒以上眠るスリープモードになったときに、時にはそれが分かそこらのために寝ることに気づいたが、デバイスが起きている時に(私のアプリがある場合でも、バックグラウンドで)スレッドは期待どおりに動作します。ログを見て確認することができます。
AFAIKスリープメソッドは、それに渡される時間にコミットする必要があります、体は何が起こっているか知っていますか?デバイスがスリープモードになっているとき、Androidシステムはスリープ時間を延長しますか?
ご了承ください。
は編集:私は複数のデバイスをチェックしてみました
は、実際に新しいデバイス上の問題は、時間の変更はキットカット4.4睡眠の変更を実行している古いデバイス上で、その大きなではないとしてあまり効果的であると思われます時間は重要です。あなたは、バッテリーの最適化について読むこの記事を読みたい場合は
あなたのAndroidバージョン? –