標準的な人間の行動を決定するために、Androidデバイス上のセンサーを融合するライブラリを構築しました。私は自分のプロセスの優先順位を上げる(IEのCPUサイクルを増やす)Foregroundサービスを使用し、システムにアプリを終了させないように指示する必要があります(http://developer.android.com/guide/components/services.html#Foreground)。フォアグラウンドサービスは、プロセスを高い優先度に保つ必要があり、アプリケーションはいずれも(私が確認した)殺されていません。Androidセンサーのサンプリングレートがバックグラウンドで低下します。 10分という大きなギャップ
これはしばらくは正常ですが、最終的に10分後または数時間後には、バックグラウンドではセンサーデータにギャップがあります。 1分から10分にもなります。
私はすべてのセンサーを集め、Javaエグゼキュータを使用して32ヘルツで分析するためにライブラリに送信しますが、いくつかのデバイスではさまざまな程度の成功と失敗を経験しています。なぜこれが起きて最適化が提案されたのか、私は本当に感謝しています。
ありがとうございます!
ジャレッド
@simekadamのご意見ありがとうございます - コメントインライン 1.デバイスがスリープ状態(またはドーズ状態)にならないことを確認できますか? - はい、デバイス「M」をテストしているので、ドーズは問題ではありません。おそらく眠っていることが問題になるでしょう。それが「眠っている」かどうかはどうすればわかりますか? 2.これらのデバイスを充電するときの動作は同じですか? - テストして、あなたに戻ってきます。 3.利用可能な場合、イベントバッチ処理にHWベースのキューを使用していますか? - はい。 –
@ JaredSheehanが部分的なワクロックを取得すると、デバイスが起きたままになります。もしあなたがすでにそうしているのであれば、それは問題ではないはずです – simekadam
ありがとう@simekadam - 事実、私はその最後の夜(部分的なウェイクロック)し、私たちのセンサーチームに分析させるでしょう。以前は目を覚ましていましたが、電池が多すぎました。結果をお知らせします。 –