問題タブ [android-anr-dialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android ANR (アクティビティが応答しない) trace.txt
アプリで、ANR イベントを再現するのが非常に難しい場合があります。今日それが起こり、/data/anr にあるファイル trace.txt をデバイスから取り出しました。残念ながら、このファイルのデータを理解できません。完全なファイル コンテンツは次のとおりです。アプリの UI が応答しない原因を誰か理解できますか? 私はすでに同様の質問を読みましたが、まだファイルを読むことができません..
完全な trace.txt ファイルの内容をペーストビンに貼り付けました
編集
ペーストビンのファイルはもう利用できず、trace.txt ファイルにアクセスできないため、回答を閉じることができます。
ありがとうございました
android - 子スレッドで Thread.sleep を使用して Android ANR を取得する理由
サルテストを実行すると、ANRが見つかりました。/data/anr の anr ログを確認すると、NotifiThread (MyService で定義) のコードが ANR の原因である可能性があることがわかります。
問題は、コードが子スレッドで実行されていることです (NotifiThread は Handler.post(Runnable) によって呼び出されたのではなく、new Thread().start() によって呼び出されました)。なぜ ANR を取得するのでしょうか。誰かがこの状況についてアドバイスをくれますか、ありがとう。以下は詳細コードとANRログです。
詳細コード:
ANR
----- 終了 28042 -----
android - Android バウンド サービスでの ANR の回避
バインドされたサービスがあります。たとえば、サービスには、アクティビティが閉じられた場合に実行を継続する必要がある非常に集中的な計算を行うメソッド calculate() があります (そのため、asynctask ではなくサービスが選択されます)。そして、このサービスは、再度開いたときにアクティビティに表示されるはずの結果値を返します。質問は次のとおりです。何らかの値を返す必要がある場合、バインドされたサービスで ANR エラーを適切に回避する方法は?
android - Playストアに公開されていないAndroidアプリに「testflight」を使用する方法は?
特定のクライアント向けの Android アプリを開発しています。リモート クラッシュとanr (アプリが応答しない) の問題を追跡したいと考えています。
TestFlight の使用を開始するにはどうすればよいですか?
また、いくつかの代替案を提供することもできますが、適切なドキュメントまたはリンクが必要です。
前もって感謝します。
testflight sdkを正しく実装する方法を教えてもらえますか??
私はすでにsdkをダウンロードし、アプリトークンを取得して、Jafarの回答に記載されているように統合しました.
android - ANR をリッスンする BroadcastReceiver をセットアップすることは可能ですか?
インテントのドキュメント内で、次のIntent.ACTION_APP_ERROR
場合にブロードキャストされる定数を見つけることができます。
ユーザーがクラッシュ/ANR ダイアログで [レポート] ボタンを押しました。
ユーザー入力が関与しないように、システムが ANR ダイアログをセットアップした直後にブロードキャストされるインテントをリッスンする BroadcastReceiver をセットアップすることは可能ですか? そうでない場合、そのイベントを検出した後に何らかのアクションをトリガーできる代替方法はありますか?
java - trace.txt で ANR エラーを理解する
anr
ボタンを押して、バッテリーのグラフを作成するアクティビティを開いた後、アプリケーションにがあります。traces.txt を使用したことがないため、このエラーで何を確認する必要があるかわかりません。
私が見なければならない行はどこですか?エラーはどれ!? 編集:ビルドパスを更新しましたが、次のエラーが発生しました:
android - Android ANR、アクティビティ コードが表示されない
2 つの別々のアクティビティを開こうとしているときに、ANR が発生しました。非常に散発的で、特定のユーザーのみが、テスト ハードウェアのいずれにも複製できませんでした。両方のレポートには、一連の説明のないスレッドがあり、通知ロックを正しく待機している 2 つのバックグラウンド スレッドがあります。どちらの場合も、メインスレッドはこれを行っています。
アプリのダンプは次のとおりです。
もう 1 つの奇妙な点は、これが私が見ている唯一のユーザー コードだということです。これら 2 つのスレッドが開始される場所と、さまざまなアクティビティの onCreate イベント中に追跡しましたが、アクティビティ自体は実行されていないか、少なくともトレースには表示されません。どんなアイデアでも大歓迎です。
android - Android で次に進む前に長いタスクを完了する必要がある場合の適切な設計
私はアンドロイドプログラミングが初めてで、バックグラウンドで長いタスクを実行する必要性について質問があります。アクティビティ A のリストビューにフォーラム トピックのリストを表示するこのアプリケーションがあり、ユーザーがこのリストの項目をクリックすると、この項目に関する情報をアクティビティ B に表示する必要があります。これにはテキストと画像が含まれます。
現在、この情報は Web から取得されています。これはコミュニケーション タスクなので、何らかのサービスに入れる必要があります。そうしないと、ANR が発生する可能性があります。
私の質問は、情報を受け取るまでどうすればよいかということです。すべての情報を取得する前にアクティビティ B を表示することはできないため、Web から情報を取得するまでアクティビティ A で「ハング」する必要があります。
このような一般的なフローの適切な設計パターンについて誰か教えてもらえますか? もちろん、いくつかのコードも非常に役立ちます。
前もって感謝します。
android - Android - プッシュ通知からアプリを開くとアプリがハングする
ここ数日、プッシュ通知で奇妙な動作に気付きました。プッシュ通知を受け取った後、それをクリックしてアプリを開くことができます。アプリが開きたいプッシュ通知をクリックした後、何らかの理由でランダムになるまで正常に動作しますが、完全にハングします。その結果、黒いスタック画面と ANR が発生します。アプリを強制終了する必要があります。
原因を見つけるのに何時間も費やします。一つ変なことを見つけました。manifest.xml から Google 広告のアクティビティ エントリを削除した後、すべてが機能しているように見えました。もちろん、広告を除いて。数週間前に Google Play サービスをリビジョン 14 に更新したことを今思い出しました。
私のマニフェストは次のようになります。
onreceiveのブロードキャストレシーバーから、次のコードがあります
Google 広告のアクティビティを削除すると、問題がなくなると確信しています。何が起こっているのかわかりません。Android が MainActivity の代わりに広告アクティビティを開始しようとしている可能性があります。問題が発生すると、「onCreate」も呼び出されません。
ANR の後に生成される traces.txt ファイルに飛び込みました。巨大なファイルですが、次で始まります。
アップデート::
アプリケーションから次のコードを削除すると、すべてが再び機能するように見えます:
理由がわかりません。そして、私はその影響が何であるかを知りません。