• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

アプリケーションが応答しない: ANR エラーを追跡して分析する

Androidモバイル アプリケーションでは、メイン UIスレッドが 5 秒以上ブロックされると、 アプリケーション応答なし (ANR) エラーが 発生します。これらのエラーはユーザー エクスペリエンスを著しく低下させますが、次のようないくつかの要因によって発生する可能性があります。

  • メインスレッドでネットワーク操作を実行する
  • UI の更新を妨げる複雑な計算を実行する
  • 共有資源をめぐる争い
  • 重いI/O操作の実行

By 監視 ANR エラーは、アプリの安定性とユーザーの全体的なエクスペリエンスに貴重なインサイトを提供します。

ANRエラーがNew Relicに報告される仕組み

デフォルトでは、Android エージェントは ANR エラーをMobileApplicationExitイベントとして報告します。これは、Android のApplicationExitInfo APIを利用してモニターし、アプリ終了のさまざまな原因を報告します。 エージェントは、次のアプリリリースで ApplicationExitInfo APIを読み取り、履歴内のアプリ終了ごとに MobileApplicationExit イベントをNew Relicに非同期的に送信します。

New Relic と Google Play Console 間の ANR の不一致を理解する

New Relic と Google Play Console の間で ANR の数とレートに違いが生じる場合があります。 これはデータ収集方法の違いによるものです。

  • Android バージョン カバレッジ:

    • New Relic は、Android 11 以降を実行しているデバイスからの ANR に重点を置いています。
    • Google Play Console は、すべての Android バージョンにわたって ANR をキャプチャします。
  • デバイスとアプリのスコープ:

    • New Relic は、アプリのソースに関係なく、New Relic エージェントがインストールされているデバイスからレポートします。
    • Google Play Console は、Play ストアからアプリをダウンロードした認定デバイスからのレポートのみを表示します。

詳細については、 Google Play のドキュメントをご覧ください。

New RelicでANRを表示する

ANRsページは、開発チームが ANR の問題を特定、分析、解決し、より安定したモバイル エクスペリエンスを提供するのに役立ちます。

このページでは次のことが可能です。

  • 全体的なエラー傾向を評価する:セッションおよびユーザー別に ANR 率チャートを確認して、ANR 発生時の異常またはパターンを見つけます。

    • セッション別の ANR 率:時間の経過に伴ってエラーが発生したセッションの割合をアプリのバージョン別に表示されます。平均 ANR セッション パーセンテージは左上隅に表示されます。
    • ユーザー別の ANR 率:ユニーク ユーザーの総数に対する、期間中に ANR を経験したユニーク ユーザーの割合が表示されます。 ユニークユーザーは通常、 deviceUuidによって識別されます。
  • より詳細な分析のためのグループ化とフィルター:デバイス タイプ、OS バージョン、アプリのバージョン、または標準およびカスタム アトリビュートなどのプロパティによって ANR の発生をグループ化またはフィルターします。

  • パターンを特定する: ANR 発生テーブルを調べて、ANR エラーメッセージ、発生日、頻度、アプリのバージョン、影響を受けるユーザーの数など、ANR の説明に関連する傾向を見つけます。

  • 個々の ANR グループを調査する:類似した ANR の特定のグループをドリルダウンして、次のような詳細情報を表示します。

    • ANRに至るまでのユーザーアクションを示すイベントトレイル
    • ユーザージャーニー情報
    • 代表的なスタックトレース
    • 関連属性とメタデータ

    スタックトレースをローカル マシンにエクスポートし、 Androidシンボリケーション ツールを使用して難読化を解除し、より詳細な分析を行うことができます。

    screenshot of ANR UI page

ANRsページを表示するには:

  1. one.newrelic.com > All capabilitiesに移動します。
  2. Mobileをクリックします。
  3. Android アプリを選択します。
  4. 左側のペインで、 ANRをクリックします。

ANR詳細ビュー

ANR の詳細ビューには、次のような ANR 発生の包括的な概要が表示されます。

  • 発生チャート:最初の検出以降、選択した期間における特定の ANR の頻度を表示します。複数の発生が記録されている場合は、各インスタンスを移動できます。
  • ANR タイプの内訳:この ANR が最も頻繁に発生するデバイス モデルまたは OS バージョンのパターンを識別します。
  • ANR 属性プロファイル:アプリの状態 (フォアグラウンド/バックグラウンド)、デバイスの特性、この ANR エラー グループと相関する地理的パターンなど、この特定の ANR エラー グループのさまざまなディメンションにわたるパターンと分布を識別します。
Select an ANR occurrence to open the ANR details page

ANR の詳細ビューにアクセスするには、 ANRsページで ANR の発生を選択します。

ANRスタックトレース

ANR エラーが発生すると、 Androidスタックトレースをキャプチャします。 スタックトレースは、エラー発生時のコードの実行パスのスナップショットです。 New Relic 、 Android ApplicationExitInfo#getTraceInputStream APIメソッドを使用してこれらのスタックトレースを取得します。 スタックトレースが利用可能な場合、 New Relicそれを ANR 発生の詳細の下に表示します。

可用性:

  • ANR のスタックトレース データにはNew Relic Androidエージェント バージョン 7.6.2 が必要です またはそれ以降。
  • ApplicationExitInfo#getTraceInputStreamメソッドがnullを返す場合、ANR オカレンスにはスタックトレースは含まれません。

難読化解除:

New Relic現在、プラットフォーム内で ANR スタックトレースを自動的に難読化解除しません。 この機能のサポートは将来のリリースで予定されています。それまでの間、難読化された ANR スタックトレースをNew Relicからダウンロードし、Proguard/R8 のndk-stackまたはretraceユーティリティなどのオフライン ツールを使用して、スタックトレースを手動でシンボライズできます。

ANR監視を無効にする

重要

サーバーサイド構成は常にローカルエージェント設定よりも優先されます。 同時にアクティブなデバイスが 100,000 台未満のモバイル アプリの場合、エンドユーザーのデバイスに変更を適用するまでに最大 10 分かかることがあります。 アクティブデバイスが 100,000 台を超えるアプリの場合、数時間かかることがあります。

ANR監視を無効にする必要がある場合:

  1. New Relic で、モバイル アプリに移動します。
  2. 左側のペインのSettingsの下で、 Applicationをクリックします。
  3. Application Not Responding (ANR) [アプリケーション応答なし (ANR) を]オフに切り替えます。
  4. クリック 保存.
Screenshot of the ANR setting
Copyright © 2025 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.