開発中のアプリで、「バックグラウンドで定期的にサーバにPOSTする」という機能を付ける必要があります。
それで、Service内でTimerを動かし、そのTimer内でPOSTする、普通のコードを書きました。
すると、スリープ中にPOSTが実行されないという現象が起こりました。それだとだめなんだよ、、
原因を分析してみました。

電源を接続していると

電源を接続している場合、スリープでもきちんとPOSTできていることが確認できました。てことは、バッテリー動作での省電力機能が働いているからなんでしょうね。
省電力機能でどこの段階で殺されているのか、確かめます。

無線デバッグを使う

電源に接続しない状態でLogCatを拾うために、無線でバッグを行います。
このページを参考にしました。

その結果、バッテリ駆動のスリープ中にはTimerがストップしてしまうことがわかりました。

どうやって解決しよう

プッシュ通知を利用してPOSTを送る指令を伝えます。

その工程については、また次回、、(まだ実装できてない)

追記 2015/03/23

LTEでの通信の際は、ちゃんとPOSTされるようです。
Wifiでの運用だと、一部そういうことが起こるということで、、、