标签: android-anr-dialog

你如何解释Android ANR报告

我用谷歌搜索,直到我的手指疼痛,但我无法弄清楚如何解释由谷歌发送给开发人员的ANR报告.

因此,在报告的顶部,此意图被列为原因:

ANR Executing service blah.blah.removed.UpdateEpisodesFileDetails
Run Code Online (Sandbox Code Playgroud)

列出以下线程.(请注意,我们有很多这些ANR,并且在每种情况下,File.deleteImpl都列为主线程上运行的内容,这似乎是一个线索,但列出的意图不会删除):

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x40022268 self=0xcea0
  | sysTid=313 nice=0 sched=0/0 cgrp=[fopen-error:2] handle=-1345006432
  | schedstat=( 6115674000 2882269000 4010 )
  at java.io.File.deleteImpl(Native Method)
  at java.io.File.delete(File.java:375)
  at au.com.shiftyjelly.pocketcasts.a.i.a(SourceFile:256)
  at au.com.shiftyjelly.pocketcasts.a.i.a(SourceFile:177)
  at au.com.shiftyjelly.pocketcasts.a.i.c(SourceFile:374)
  at au.com.shiftyjelly.pocketcasts.a.i.a(SourceFile:290)
  at au.com.shiftyjelly.pocketcasts.a.e.a(SourceFile:1)
  at au.com.shiftyjelly.pocketcasts.server.t.a(SourceFile:393)
  at au.com.shiftyjelly.pocketcasts.server.x.onPostExecute(SourceFile:1)
  at android.os.AsyncTask.finish(AsyncTask.java:417)
  at android.os.AsyncTask.access$300(AsyncTask.java:127)
  at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:130)
  at android.app.ActivityThread.main(ActivityThread.java:3806)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  at dalvik.system.NativeStart.main(Native …
Run Code Online (Sandbox Code Playgroud)

android android-anr-dialog

5
推荐指数
1
解决办法
3920
查看次数

输入调度超时ANR

我在我的应用程序中经常收到以下 ANR

Input dispatching timed out (Waiting to send key event because the focused window has not finished processing all of the input events that were previously delivered to it. Outbound queue length: 0. Wait queue length: 1.)
Run Code Online (Sandbox Code Playgroud)

日志显示onActivityStopped方法中存在问题

这是我在此方法中添加的代码

try {
            boolean foreground = new ForegroundCheckTask().execute(getApplicationContext()).get();
            if(!foreground) {

                AdServerManager.getInstance().incrementImpression(activity, ForSaleDataManager.getInstance().getBannerImpression(),
                        ForSaleDataManager.getInstance().getOfferImpression(), new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {

                                ForSaleDataManager.getInstance().clearOfferImpression();
                                ForSaleDataManager.getInstance().clearBannerImpression();
                            }
                        });

                String lastOffers = TextUtils.join("," , ForSaleDataManager.getInstance().getVisitedOffersIds());
                //Appboy.getInstance(activity).getCurrentUser().setCustomUserAttribute(AppBoyAttributeName.LAST_TEN_OFFER_IDS.getValue() , lastOffers);
                ForSaleDataManager.getInstance().clearVisitedOffersIds();

                String lastCategories = …
Run Code Online (Sandbox Code Playgroud)

android android-anr-dialog

5
推荐指数
1
解决办法
2万
查看次数

ANR使用trace.txt进行调查

首先,感谢访问者看看这个问题,我遇到了ANR的严重问题,因为trace.txt不清楚,我无法从该文件中提取任何信息.所以我发布文件,以便每个人都帮助我:


    "main" tid=1 Native 
        "main" prio=5 tid=1 Native
          | group="main" sCount=1 dsCount=0 obj=0x7562bf90 self=0x7edfc9aa00
          | sysTid=24254 nice=-4 cgrp=default sched=0/0 handle=0x7ee4547a98
          | state=S schedstat=( 6402587709 172480935 6997 ) utm=548 stm=91 core=4 HZ=100
          | stack=0x7febfad000-0x7febfaf000 stackSize=8MB
          | held mutexes=
          #00  pc 000000000001bdac  /system/lib64/libc.so (syscall+28)
          #01  pc 0000000000069fec  /system/lib64/libc.so (pthread_cond_wait+96)
          #02  pc 000000000003c1d8  /data/app/com.android.chrome-1/base.apk (???)
          at org.chromium.ui.base.WindowAndroid.nativeOnVSync (Native method)
          at org.chromium.ui.base.WindowAndroid.a (PG:142)
          at bQf.a (PG:16)
          at bPT.doFrame (PG:22)
          at android.view.Choreographer$CallbackRecord.run (Choreographer.java:914)
          at android.view.Choreographer.doCallbacks (Choreographer.java:718)
          at android.view.Choreographer.doFrame (Choreographer.java:647)
          at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:902)
          at android.os.Handler.handleCallback (Handler.java:836) …

android-anr-dialog

5
推荐指数
0
解决办法
250
查看次数

Firebase 云消息导致 ANR

我有一个正在生产的应用程序,每天有超过 10k 的用户,其中
2% 的会话被报告为 ANR:

Broadcast of Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x11000010 pkg=com.tomatedigital.app
cmp=com.tomatedigital.app/com.google.firebase.iid.FirebaseInstanceIdReceiver (has extras) }
Run Code Online (Sandbox Code Playgroud)

我检查了很多来源,但没有人能提供真正的解决方案。
此链接: https: //github.com/firebase/quickstart-android/issues/594以良好的谈话开头,但一如既往,firebase 男孩“精疲力尽”并停止回答。

所有报告都显示如下内容:

"main" tid=1 Native
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x73be7718 self=0xeeaf7000
  | sysTid=12027 nice=-4 cgrp=default sched=0/0 handle=0xf2fc54bc
  | state=S schedstat=( 1058569940 1464725264 2305 ) utm=68 stm=37 core=2 HZ=100
  | stack=0xff45f000-0xff461000 stackSize=8MB
  | held mutexes=
  #00  pc 000000000004a154  /system/lib/libc.so (__epoll_pwait+20)
  #01  pc 000000000001b799  /system/lib/libc.so (epoll_pwait+60)
  #02  pc 000000000001b7c9  /system/lib/libc.so (epoll_wait+12)
  #03  pc 0000000000010343  /system/lib/libutils.so …
Run Code Online (Sandbox Code Playgroud)

android android-anr-dialog firebase firebase-cloud-messaging

5
推荐指数
0
解决办法
1390
查看次数

如何找出代码的哪些部分使用 UI 线程最多?

我正在尝试在没有任何堆栈跟踪的情况下追踪一些 ANR。我现在只想检查大量使用 UI 线程的代码的每个部分。

有没有办法绘制此图或进行某种跟踪以查看哪些方法花费的时间最长,而无需我修改大量代码?

android android-anr-dialog

5
推荐指数
1
解决办法
2305
查看次数

`adb pull /data/anr/...` 返回 `权限被拒绝`

我想从我的 Samsung A51 获取 ANR 痕迹。

官方文档告诉你要做的事情adb root

adb root
adb shell ls /data/anr
adb pull /data/anr/<filename>
Run Code Online (Sandbox Code Playgroud)

但它不适用于我的设备。为什么?或者每个人都假设开发人员拥有 root 设备?

android android-anr-dialog

5
推荐指数
1
解决办法
1519
查看次数

如何在调用相机时解决ANR错误?

我在主菜单中有两个按钮.我按下第一个按钮时调用相机.在这里,我没有遇到任何问题.相机正常工作.拍完照片后,我回到主菜单,再次按下第一个按钮.我在这里得到了这个问题.相机正确调用.但是我ANR error (Reason: keyDispatchingTimedOut)在拍摄时却得到了.如何解决这个问题?

编辑::

我正在使用以下代码,

按钮监听器,

Button imageButton = (Button) findViewById(R.id.button1);
imageButton.setOnClickListener(new  View.OnClickListener() {

    public void onClick(View arg0) {
    Intent intent = new Intent();
    intent.setClass(activity, ImageActivity.class);
    startActivity(intent);
    }
});
Run Code Online (Sandbox Code Playgroud)

ImageActivity.java

public class ImageActivity extends Activity implements SurfaceHolder.Callback {
    private Camera camera = null;
    private SurfaceHolder surfaceHolder = null;
    private boolean previewRunning = false;
    private Button btnDone, btnCapture, btnRetake;
    private Bitmap mBitmap;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFormat(PixelFormat.TRANSLUCENT);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.surface_screen);
        SurfaceView surfaceView = …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-anr-dialog

3
推荐指数
3
解决办法
4373
查看次数

ANR(强制关闭/等待),同时生成足够大的列表

我正在创建一种文件浏览器,其中如果将任何应用程序文件复制到手机/ SD卡,我将在具有对话框主题的活动上向用户显示它.对于复制的每个新"app.apk",我将应用程序的名称和位置附加到对话框,并且列表是可滚动的.我的问题是,如果我立刻将200多个应用程序复制到存储上,则列表填充会给出强制关闭/等待对话框(ANR).如何阻止我的应用程序获得此类ANR?

android android-anr-dialog

3
推荐指数
1
解决办法
850
查看次数

当我的活动发生变化或破坏时,如何阻止ASyncTask崩溃?

这可能是另一个问题的重复,我不确定.我读过类似的问题,但要么无法理解它,要么无法成功应用给定的解决方案.

我创建了一个包含多个选项卡的应用程序.大多数选项卡使用ASyncTask在用户滑入选项卡时更新数据.但是,当AST仍然在运行时有关活动的某些内容发生变化(这种情况发生很多;例如,当用户旋转屏幕或使用后退按钮退出时),应用程序将强制关闭(ANR).

这是我在LogCat中看到的情况:

10-30 11:30:01.422: E/AndroidRuntime(4687): FATAL EXCEPTION: main
10-30 11:30:01.422: E/AndroidRuntime(4687): java.lang.NullPointerException
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.appconstructor.khcreates.Core$refreshList.onPostExecute(Core.java:913)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.appconstructor.khcreates.Core$refreshList.onPostExecute(Core.java:1)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask.finish(AsyncTask.java:631)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.Handler.dispatchMessage(Handler.java:99)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.os.Looper.loop(Looper.java:137)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at android.app.ActivityThread.main(ActivityThread.java:4745)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at java.lang.reflect.Method.invokeNative(Native Method)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at java.lang.reflect.Method.invoke(Method.java:511)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-30 11:30:01.422: E/AndroidRuntime(4687):     at dalvik.system.NativeStart.main(Native Method) …
Run Code Online (Sandbox Code Playgroud)

android screen-rotation android-asynctask android-anr-dialog

3
推荐指数
1
解决办法
6050
查看次数

Android上的SurfaceView方法"onTouchEvent(...)"中的ANR

在Android上,我已经进行了子类化SurfaceView,结果视图在大多数情况下都能正常工作.但是,大约1%的用户报告了此实现的ANR问题.

显然,有一个边缘情况,SurfaceView由于某些问题失败,可能是一个死锁.

不幸的是,我不知道我的实现onDraw(...)和/ onTouchEvent(...)或如何改进代码有什么问题.你能帮我吗?

"main" prio=5 tid=1 MONITOR
| group="main" sCount=1 dsCount=0 obj=0x41920e88 self=0x4190f8d0
| sysTid=13407 nice=0 sched=0/0 cgrp=apps handle=1074618708
| state=S schedstat=( 50780242971 27570770290 130442 ) utm=4254 stm=824 core=0
at com.my.package.util.HandCards.onTouchEvent(SourceFile:~188)
- waiting to lock <0x45b91988> (a android.view.SurfaceView$4) held by tid=18 (Thread-14297)
at android.view.View.dispatchTouchEvent(View.java:7837)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2075)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1522)
at android.app.Activity.dispatchTouchEvent(Activity.java:2458)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2023)
at android.view.View.dispatchPointerEvent(View.java:8017)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3966) …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-anr-dialog

3
推荐指数
1
解决办法
775
查看次数