标签: android-anr-dialog

如何在AOSP中更改应用程序无响应(ANR)超时

如何更改AOSP源代码中的应用程序无响应(ANR)超时?默认超时为5秒,但该设置在何处以及如何更改?

android code-analysis android-source android-anr-dialog

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

主线程被 Object.wait 自己阻塞了?

我的布局有一个 SurfaceView。有时当我的应用程序从后台切换到前台时,我会收到 ANR。我想原因是主线程被lock方法阻塞了。

最重要的部分是:

JNI:CheckJNI 关闭;解决方法已关闭;针脚=1;globals=383(加1弱)

DALVIK 线程:(互斥量:tll=0 tsl=0 tscl=0 ghl=0)

"main" prio=5 tid=1 等待 | group="main" sCount=1 dsCount=0 obj=0x4160fe58 self=0x41529b58 | sysTid=19249 nice=0 sched=0/0 cgrp=apps handle=1074282836 | state=S schedstat=( 140142818375 80057200431 501675 ) utm=11559 stm=2455 core=1 at java.lang.Object.wait(Native Method) - 等待 <0x4160ff28> (一个 java.lang.Object. (main) at java.lang.Thread.parkFor(Thread.java:1205) at sun.misc.Unsafe.park(Unsafe.java:325) at java.util.concurrent.locks.LockSupport.park(LockSupport.java: 157) 在 java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:813) 在 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:846) 在 java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:846) .
在 android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1077) 在 android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1077) 在 android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1077) 在 android.view。 ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1077) at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1077) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1239) at android.view.ViewRootViewImpl.doImplTraversal( .java:1002) 在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5713) …

android android-anr-dialog

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

在主线程中的断点处停止时,几秒钟后 ANR 崩溃(AOSP - RK3288 框)

我有一个 RK3288 盒子,我正在为它开发一个应用程序。

我遇到了一个让我很头疼的问题。我无法调试任何东西。
每次我附加调试器时,当我遇到主线程上的断点时,我的应用程序会在几秒钟后崩溃。以下是发生这种情况时的 logcat:

05-02 20:52:39.734 459-534/system_process I/InputDispatcher: Application is not responding: Window{3026b626 u0 com.kushtrim.playground/com.kushtrim.playground.MainActivity}.  It has been 5001.8ms since event, 5001.6ms since wait started.  Reason: Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago.  Wait queue length: 17.  Wait queue head age: 5505.1ms.
05-02 20:52:39.794 459-534/system_process I/WindowManagerService: Input event dispatching timed out sending to com.kushtrim.playground/com.kushtrim.playground.MainActivity.  Reason: Waiting to send non-key event because …
Run Code Online (Sandbox Code Playgroud)

debugging android android-source android-anr-dialog

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

Android UI渲染时间

我在Android Vital中收到一条警告,提示我的UI渲染时间太慢。

正如他们在重要页面上解释的那样:

冻结的UI框架:
每天会话的百分比,在此期间,用户体验超过0.1%的框架且渲染时间超过700毫秒。每日会话是指在设备上使用您的应用的一天。Google使用UI Toolkit框架收集应用程序渲染的每个帧的渲染时间,而不是直接使用OpenGL。学到更多

我不明白如何从这个问题开始。
我怀疑自己的活动,但似乎没有什么奇怪的。

在此处输入图片说明

android ui-thread android-anr-dialog google-console-developer android-rendering

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

如何在Oreo(8.1.0)上获取/ data / anr / anr_xxx?

我无法使用Android 8.1.0在我的Pixel Xl上亚行提取/ data / anr / anr_xxx文件。

我的试验:

?  Downloads adb shell ls -al /data/anr
total 1184
drwxrwxr-x  2 system system   4096 2018-06-24 13:57 .
drwxrwx--x 43 system system   4096 1970-02-11 19:30 ..
-rw-------  1 system system 503517 2018-06-24 01:41 anr_2018-06-24-01-41-39-700
-rw-------  1 system system 683519 2018-06-24 13:57 anr_2018-06-24-13-57-19-517
?  Downloads adb pull /data/anr/anr_2018-06-24-01-41-39-700 .
adb: error: failed to copy '/data/anr/anr_2018-06-24-01-41-39-700' to './anr_2018-06-24-01-41-39-700': remote open failed: Permission denied

marlin:/data/anr $ ls -al
total 1184
drwxrwxr-x  2 system system   4096 …
Run Code Online (Sandbox Code Playgroud)

android adb android-anr-dialog

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

在Android ANR对话框中按"关闭应用程序",关闭并立即重新启动应用程序

我面临一个奇怪的(在我看来)问题.我的应用程序很少产生ANR.我试图尽可能地减少它们,到目前为止我已经成功了.但是,当ANR对话框确实出现时,如果我(或任何用户)决定通过按"关闭应用程序"关闭应用程序而不是等待它获得响应,则应用程序关闭但立即重新启动显示与其相同的活动当ANR对话框显示时.

这很麻烦,因为当用户正常启动我的应用程序时,他/她通过了一系列活动,每个活动负责执行某些任务,创建一些对象等.当应用程序自动重新启动时,用户发现自己在当ANR对话框显示时,他的活动也没有发生,因此缺少某些必需的东西,因此我的应用程序崩溃了.可能是一个对象为null,一个int的值比它应该的值错,一些字符串可能是空的等等.确切的问题在这里并不重要.重要的是,应用程序没有经历用户打开时通常执行的一系列活动,设置在达到此活动之前需要的所有对象,变量等.

另一方面,如果我的应用程序在任何时候崩溃,我有一个UncaughtExceptionHandler以"干净的方式"关闭我的应用程序.相当于用户按下"概述"按钮,然后通过按"x"或向左/向右滑动来关闭应用程序.因此,如果用户想要再次使用该应用程序,他/她将再次启动它,应用程序将完成它应该执行的一系列活动,并且一切都按预期工作.然而,当出现ANR对话框时,我无法控制按"关闭应用程序"实际执行的操作...

或者我可以吗?

这是ANR对话框的正确行为还是我在这里遗漏了什么?有没有人经历过这个?在用户选择对话框中的"关闭应用程序"选项后,有什么方法可以让我的应用程序关闭并保持关闭状态?(我猜不是).

提前谢谢你,如果我遗漏了一些明显的东西,请尽量保持温和!:)

android android-anr-dialog forceclose

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

等待中,因为触摸的窗口的输入通道已满

我有一个Android浮动窗口程序,在显示大约5-10分钟后会自动获取ANR。以下是trace.txt日志。这是在我的android 8.1设备上发生的,在另一个5.0设备上没有这样的问题。谁能帮我?我将非常感谢。

Cmd line: system_server
Build fingerprint: 'OnePlus/OnePlus5T/OnePlus5T:8.1.0/OPM1.171019.011/1809102245:user/release-keys'
ABI: 'arm64'
Build type: optimized
Zygote loaded classes=5320 post zygote classes=5413
Intern table: 57652 strong; 9079 weak
JNI: CheckJNI is off; globals=6305 (plus 411 weak)

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x7374fef0 self=0x7488cc3a00
  | sysTid=1239 nice=-2 cgrp=default sched=0/0 handle=0x750d92c9a8
  | state=S schedstat=( 403859951859 191906892121 1013674 ) utm=30078 stm=10307 core=6 HZ=100
  | stack=0x7fc96e5000-0x7fc96e7000 stackSize=8MB
  | held mutexes=
  kernel: (couldn't read /proc/self/task/1239/stack)
  native: #00 pc 000000000006a420  /system/lib64/libc.so (__epoll_pwait+8)
  native: #01 pc …
Run Code Online (Sandbox Code Playgroud)

android android-anr-dialog

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

如何在 Flutter 应用中分析和调试 ANR?

我的 Google Play 控制台中有很多 Flutter 应用程序的 ANR 报告。我如何确定我的 flutter 应用程序中的哪一行导致了问题,因为我在报告中看到的唯一行号是针对 Java 文件的。有没有办法可以将这些追溯到实际的颤振文件?

以下是 ANR 报告中的代码示例:

"main" tid=1 Native
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x753d2890 self=0x7784c14c00
  | sysTid=5725 nice=-10 cgrp=default sched=0/0 handle=0x780af11550
  | state=S schedstat=( 783263348209 325919126195 1054920 ) utm=51688 stm=26637 core=1 HZ=100
  | stack=0x7fd6d7f000-0x7fd6d81000 stackSize=8MB
  | held mutexes=

  #00  pc 000000000001f2ac  /system/lib64/libc.so (syscall+28)

  #01  pc 00000000000d7e50  /system/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)

  #02  pc 0000000000333fdc  /system/lib64/libart.so (art::JNI::CallObjectMethod(_JNIEnv*, _jobject*, _jmethodID*, ...)+556)

  #03  pc 00000000000f896c  /system/lib64/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long, int, unsigned int)+48)

  #04  pc …
Run Code Online (Sandbox Code Playgroud)

debugging android-anr-dialog flutter

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

使用 Android Profiler 找出 ANR 的原因

我的应用程序弹出ANR(应用程序没有响应)对话框。很长一段时间以来,我都在努力解决这个问题。我做了很多优化,最后我的主线程需要 2~300 万微秒,但这还不够。

几乎所有的服务调用都是用 Rxjava 完成的。我不知道回调是否属于他们。

当我将Android Profiler用于显示弹出窗口的特定活动时,有2 个进程花费的时间太长

第一个是onCreate方法。 在此处输入图片说明

第二个是handleCallback。我无法减少这些过程的时间。我不知道该怎么做以及它是什么。

我尝试使用异步任务,但即使我取得了一些成果,仍然有同样的问题。

您可以通过此链接看到traces.txt文件=> gofile.io/?c=BKXCJ2

在此处输入图片说明

更新:

它弹出ANR 对话框,我杀死了该应用程序 ,这些是最后的日志行

2019-11-27 16:36:53.856 13843-14117/br.com.gomus.androidapp D/DownloadInteractor: addSongDownloadedToCurrentPlaylist
2019-11-27 16:36:53.858 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: File download and update status finished, should verify all files download status
2019-11-27 16:36:53.860 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: File download and update status concluded with success emitting progress
2019-11-27 16:36:53.863 13843-14117/br.com.gomus.androidapp D/DownloadRepositoryImpl: mItemsDownloaded: 4 mTotalItems14 …
Run Code Online (Sandbox Code Playgroud)

performance android android-anr-dialog rx-java rx-java2

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

ANR 与 com.facebook.ads.AudienceNetworkActivity

我在 Google Play 控制台中的 ANR 错误下报告了此问题。

我正在使用 Ironsource 网络和 Facebook 广告中介。我尝试了一切,但没有任何线索。

这是我从控制台获得的所有堆栈跟踪:

Input dispatching timed out (Waiting to send non-key event because the touched window has not finished processing certain input events that were delivered to it over 500.0ms ago. Wait queue length: 2. Wait queue head age: 5971.9ms.), VisibleToUser 
com.facebook.ads.AudienceNetworkActivity
Run Code Online (Sandbox Code Playgroud)

这是主线程

"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 flags=1 obj=0x728615e0 self=0xaea84000
| sysTid=30076 nice=-10 cgrp=default sched=0/0 handle=0xb25224a8
| state=S schedstat=( 38978911993 8299336927 117582 ) utm=2789 stm=1107 core=4 HZ=100 …
Run Code Online (Sandbox Code Playgroud)

android unity-game-engine android-anr-dialog

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