2016-04-12 4 views
0

標準的な人間の行動を決定するために、Androidデバイス上のセンサーを融合するライブラリを構築しました。私は自分のプロセスの優先順位を上げる(IEのCPUサイクルを増やす)Foregroundサービスを使用し、システムにアプリを終了させないように指示する必要があります(http://developer.android.com/guide/components/services.html#Foreground)。フォアグラウンドサービスは、プロセスを高い優先度に保つ必要があり、アプリケーションはいずれも(私が確認した)殺されていません。Androidセンサーのサンプリングレートがバックグラウンドで低下します。 10分という大きなギャップ

これはしばらくは正常ですが、最終的に10分後または数時間後には、バックグラウンドではセンサーデータにギャップがあります。 1分から10分にもなります。

私はすべてのセンサーを集め、Javaエグゼキュータを使用して32ヘルツで分析するためにライブラリに送信しますが、いくつかのデバイスではさまざまな程度の成功と失敗を経験しています。なぜこれが起きて最適化が提案されたのか、私は本当に感謝しています。

ありがとうございます!

ジャレッド

答えて

1

私が正しくリコール場合には、あなたの特定のケースかもしれないが、一部のOEMデバイスだけで同様のことを行う場合、私は知りません。ここで

は私が調査しようとする方法を提案のリストです:

  1. あなたは、デバイスがスリープ状態(あるいは居眠り)するために行かないことを確認することはできますか?
  2. これらのデバイスを充電するときの動作は同じですか?
  3. 可能な場合は、イベントバッチングにHW based queueを使用していますか?
+0

@simekadamのご意見ありがとうございます - コメントインライン 1.デバイスがスリープ状態(またはドーズ状態)にならないことを確認できますか? - はい、デバイス「M」をテストしているので、ドーズは問題​​ではありません。おそらく眠っていることが問題になるでしょう。それが「眠っている」かどうかはどうすればわかりますか? 2.これらのデバイスを充電するときの動作は同じですか? - テストして、あなたに戻ってきます。 3.利用可能な場合、イベントバッチ処理にHWベースのキューを使用していますか? - はい。 –

+0

@ JaredSheehanが部分的なワクロックを取得すると、デバイスが起きたままになります。もしあなたがすでにそうしているのであれば、それは問題ではないはずです – simekadam

+0

ありがとう@simekadam - 事実、私はその最後の夜(部分的なウェイクロック)し、私たちのセンサーチームに分析させるでしょう。以前は目を覚ましていましたが、電池が多すぎました。結果をお知らせします。 –

関連する問題