2016-12-07 8 views
3

AppleのCMMotionManagerのドキュメントによると、「アプリケーションはCMMotionManagerクラスのインスタンスを1つだけ作成する必要があります。ジャイロスコープ "CMMotionManagerの複数インスタンス、更新間隔の決定

これをカプセル化するためのシングルトンを作成しましたが、更新間隔をどのように処理すればよいか不思議です。マネージャの各コンシューマがデバイスのモーションアップデートの更新間隔を変更する必要がある場合は、どのように扱いますか?私の最初の考えは、提供された最速の更新間隔に設定し、ユーザーが削除される(動作の更新を監視するのを止める)次のフォールバックにフォールバックすることですが、特定のコンシューマーに一定の間隔を設定する必要がある場合、

誰もこの問題に遭遇しましたか?もしそうなら、それをどうやって解決しましたか?

答えて

1

過去に複数のモーションマネージャを使用していましたが、アプリのパフォーマンスに大きな影響はありません。しかし、リアルタイムのアプリの動作/パフォーマンスに影響を与える場合は、必要な頻度でモーションマネージャを設定しますが、要求されたレートでモーションデータを消費者に転送します。

頻度の高いモーションデータを要求すると、CPU使用率やバッテリに大きな影響はありません。バッテリの消費/バッテリ使用量は、各モーションアップデート後のポスト処理量に影響します。

出典:個人的な経験、私は過去5年間の生産中のアプリケーションで作業しています。そのアプリケーションはデバイスモーションデータを使用してユーザーの行動を予測します。

+0

ありがとうございました。それで私は一緒に行くことになった。私はちょうど、特定のクラスが適切に動作するために特定の間隔を必要とする場合、人々がそれをどのように処理するかと思っていました。 – stealthdyno

+0

@stealthdynoビヨンセの言い回しには、「それが好きなら、それにチェックマークをつけてください」_ –

関連する問題