“Application Not Responding “の略です。 ANRは、応答しないAndroidアプリを表す略語です。 Android端末で実行中のアプリが応答しなくなると、”ANR “イベントが発生します。

  1. アクティブなアプリが5秒以内に入力イベントに応答しない。
  2. BroadcastReceiverクラスが長時間実行を終了しない。

AndroidデバイスでANRエラーが発生すると、画面上にダイアログボックスが表示されます。 このメッセージは、アプリケーションが応答していないことを通知し、アプリケーションを閉じるかどうかを尋ねます。 選択肢は2つあります。 待つ」または「OK」の2つの選択肢があります。 Wait(待つ)」を選択すると、アプリにもう少し時間を与えたい場合は、待ち続けることができます。 OK」を選択すると、アプリが終了し、保存されていないアクティビティが失われる可能性があります。

ANR はクラッシュとは異なります。 クラッシュは、プログラムが予期せず終了することを意味します。 ANR は、プログラムが数秒間応答しない状態で「ハング」しますが、回復することがあります。

ANR エラーはさまざまな理由で発生します。 たとえば、必要以上にループするような不適切に書かれた関数のように、開発者に関連するものもあります。 その他はデバイスに関連するもので、ハードウェアがアプリケーションの要求に追いつけないことを意味します。 例えば、アプリが大きな文書をレンダリングしている場合、データをロードして画面に画像を表示するのに数秒かかることがあります。 これは、数秒後に処理が完了するかもしれませんが、ANR メッセージが表示される可能性があります。

Developers

ANR は悪いユーザー エクスペリエンスを生み出すので、開発者は ANR を回避するか、少なくとも発生数をできる限り少なくすることを目的としています。 Android オペレーティング システムでは、開発者がアプリケーションをデバッグしやすくするために、ANR とそれに対応するアクティビティを記録しています。 アプリがGoogle Playで配信されると、ANRのデータは自動的にGoogleに送信されます。 開発者は、Developer Console の Android Vitals セクションで ANR データを確認できます。

NOTE: ANR データで個人データが送信されることはありません。 アプリバージョン、Androidバージョン、デバイスタイプ、およびアクティビティデータ(現在のプロセスなど)のみが記録されます

Updated: 2018年9月11日

の記事

コメントを残す

メールアドレスが公開されることはありません。