2016-10-18 2 views
0

私が取り組んでいるプロジェクトでは、さまざまな機能の使用状況測定基準を記録しています。アクセシビリティモードでその機能が使用される頻度も記録したいと思います。そのために、私はUIAccessibilityIsVoiceOverRunning()関数を使うつもりです。UIAccessibilityIsVoiceOverRunning()はどれくらい早いですか?

私がハンドルを持っていないか、documentationで指定されていないのは、複数の場所からこれを複数回呼び出すと、アプリケーションの全体的な待ち時間に悪影響が及ぶかどうかです。これを追加したいメトリックがたくさんあるので、そのような変更の複合効果について心配しています。何か案は?

+0

http://stackoverflow.com/questions/40117792/is-uiaccessibilityisvoiceoverrunning-an-expensive-call-to-makeに似ている – Justin

+0

私たちは互いに数分以内に質問を作成したようです。私はすでに他の質問が投稿されたときに入力を開始しました:) – RuslanD

答えて

1

答える前に、私は注意する必要があります。

  1. は時期尚早最適化しないように注意してください。ここに問題はないかもしれません。
  2. 本当にこの質問への回答が必要かどうかを検討してください。特定の製品の絶対ユーザー番号は、アクセシビリティのためにケースを強化することはめったにありません。アクセスをサポートすることは、道徳的な、時には法的な義務であり、簡単に集計されたビジネス指標によって常にサポートされるわけではありません。
  3. iOSに複数の「アクセシビリティモード」があります。 VoiceOverの使用だけでは、ダイナミック・タイプ、スイッチ・コントロール、タッチ・アコケーションなどの他の多くのアクセシビリティ・ツールとそのユーザーが見落とされています。いくつかの偶然でUIAccessibilityIsVoiceOverRunning()があなたの特定のユースケースのためにあまりにも高価であるならば、あなたはUIAccessibilityVoiceOverStatusChangedを使用してVoiceOverのステータス変更通知を登録でき、自分の価値をキャッシュ、と述べ

+0

こんにちはジャスティン、あなたの答えをありがとう!私はアクセシビリティへの投資を正当化するためにこれらの指標を使用するつもりであったという声明も出していないし、VoiceOverが私が追跡している唯一のアクセシビリティ技術でもなかった。私は単に質問にできるだけ集中するように努めました。通知を使用してVoiceOverステータスをキャッシュするのは良い方法のようですが、私が正しく理解すれば、コールが高価なOTOHかどうかはわかりません。 – RuslanD

+0

@RuslanD私はそれが非常に速くて些細なコールだと信じるあらゆる理由があります - 私はそのパフォーマンスに決して問題がなかった。私はあなたが正当な理由でこれをやっていると仮定していますが、他のものを探す答えにつきまとう場合に備えて、文脈と注意を追加します。 – Justin

関連する問題