问题标签 [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.

0 投票
1 回答
1218 浏览

java - 当服务器存在时间延迟时,如何避免 Android 中的 ANR 响应?

我是 Android 新手,但我对 Java 和 Java EE 有所了解。在与 Server(webservice) 通信时,它可以很好地处理我从中获得的响应。但如果有任何超过 5 秒的延时,它就会ANR. 现在我的问题是如何检查我的 java 功能,以了解服务器是否响应。这有什么想法吗??

甚至一些相关的例子也会帮助我。

代码片段

附加信息:我用于在 Androidjax.ws中创建webservice& 。ksoap api提前致谢。

编辑

我错过了把它放在这里的语法中..!!

0 投票
1 回答
2995 浏览

android - 从 AppWidgetProvider 启动服务时出现 ANR

我正在开发一个简单的小部件,它通过下载一个大图像文件来更新。为此,我只是启动了一项检索图像的服务。我从 AppWidgetProvider 的 onUpdate 方法启动它。像那样 :

在 wifi 中,一切都运行良好。但是3G网络很慢,下载时间太长。结果我的服务被android系统杀死了。这里的痕迹:

所以我的问题是: - 我该如何避免这种 ANR?- 在这种情况下使用服务是否正确?- 如果不是,我应该用什么来进行那种治疗?

预先感谢您的帮助 :)

0 投票
1 回答
321 浏览

android - 设备进入睡眠状态后出现 ANR(Android)

在我的设备进入睡眠状态并唤醒后,我遇到了这个奇怪的 ANR keydispatchingtimedout 问题。重现错误有点困难,因为我需要 15-20 分钟的睡眠才能获得 ANR。我没有在 UI 线程中做任何密集的任务。当设备进入睡眠状态时,应用程序继续做一些后台(线程)工作,但没有别的。

0 投票
1 回答
7133 浏览

android - 调试应用程序时 ANR 崩溃

我创建了一个应用程序,它工作正常。但有时当我调试我的应用程序时,设备会锁定。然后当我解锁设备时它崩溃并显示ANR(活动无响应)。我查看了 logcat,但无法从那里获得任何线索。所以请帮我解决这个问题。我的logcat如下:

0 投票
1 回答
4213 浏览

android - 有人可以对此 ANR 日志有所了解吗?

在 Developer Console 上收到了这个 ANR 报告,我觉得有点奇怪。似乎它与文件有关,但我不太确定,所以我希望有人能对此有所了解。非常感谢!

0 投票
2 回答
769 浏览

android - 我正在使用 AsyncTask 来执行一个长时间运行的任务,但它似乎仍在主 ui 中执行它

我正在尝试编写一个测试应用程序来压缩和解压缩文件。我找到了一个用于进行文件压缩/解压缩的开源库,但是您可以猜到这确实需要一些时间,所以我无法在主 ui 中运行它,所以我想我会使用 AsyncTask 在后台线程上进行繁重的工作,然后就开始吐了,一个完成的消息,一切都会好起来的。但我在这里有两个大问题。当我点击按钮时,它确实会解压缩文件,但它似乎是在主 ui 中而不是在后台线程中执行此操作,因为应用程序将锁定并且我确实得到了 anr 屏幕,而且我正在关注任何使用 ddms 视图确实出现了新线程,但我看不到任何线程。如果我告诉它我想等待它,它将解压缩文件。但当然我不希望程序看起来冻结或在我身上出现另一个问题是我将它设置为在单击它后立即更新按钮文本,然后在 aysc 任务完成时再次更新但我没有'没有看到任何变化发生,我确实更改了文本,以便它们完全不同,所以我可以分辨出来。它还应该在状态消息中设置一个文本字段。我不认为 onPostExecute 被调用过。有人可以告诉我这里发生了什么吗?

0 投票
2 回答
1282 浏览

android - 如何防止服务因未捕获的异常而被 Android 杀死?

我正在调查是否有任何方法可以防止 android 服务因未捕获的异常而被杀死。
我们有 10 个 UI 应用程序与 5-6 个服务通信。该平台是Android 2.2。
由于不可预见的情况,服务中的一些逻辑不时抛出异常。这导致这些服务被那些烦人的 ANR 弹出窗口杀死。在我们致力于解决这些异常的根本原因的解决方案时,我希望防止 Android 终止有问题的服务。

看起来我可以为服务中的所有线程注册未捕获的默认异常处理程序。这只是让我有机会记录有关异常的信息。那很好。我遇到了许多使用这种技术将崩溃信息记录到文件以供以后使用的帖子。人们建议不要抛出原始异常以防止 ANR 弹出。我还发现一些文章表明它可以让你的服务处于半死状态。正确的做法是终止服务并重新启动。杀死和重新启动不是我感兴趣的选项。

如果您不抛出异常,我不太了解半死状态部分。我要进一步调查。同时我想知道人们是否有建议。
我的目标是防止 ANR 弹出窗口。我希望我的代码决定是否重新启动服务,而不是由 Android 框架为我决定。

我很好奇的是:
1)清单中是否有任何标志可以更改以防止服务被框架代码杀死?

2) 是否有任何方法可以在服务中覆盖,让您处理未捕获的异常,但仍然让服务线程返回等待状态以等待来自客户端的下一个请求?

感谢您的建议。

视频人

更新
未捕获的默认异常处理程序在这里没有帮助。它让你有机会记录一些东西,但服务线程仍然退出。

您需要更改 android 框架,以便它不会杀死进程。android 框架中的 ActivityManagerService.java 有不同的阈值,服务可以在没有任何客户端的情况下运行多长时间,您可以拥有多少后台活动/服务,服务超时和 ui 初始化。我们提高了这些价值。

0 投票
1 回答
482 浏览

android - 开始活动时某些设备上的 ANR

我在某些设备上遇到了一个错误,有时在开始新活动时会出现 ANR。我的设备(Samsung Galaxy S2)有一点延迟,但我从来没有收到 ANR。有时会出现 ANR 的其他设备是:HTC Desire HD 和 Xperia(据我所知)。我认为这可能是我做的某种 cpu 密集型的事情,这使得旧手机比新手机滞后,但我不知道。我使用 Asynctask 来加载所有繁重的东西,而 ui 线程并没有真正做太多事情。

这是代码

我在这里创建一个单独的线程来访问共享首选项。

bgTask 是一个 AsyncTask。

这是绘制所有内容并处理 onTouchEvents 的 Surfaceview

我在surfaceCreated中启动drawThread

Surfacedestroyed from guide on the web

我认为这是重要的代码。据我所知,UIthread 仅通过我显示的这些部分运行(可能不是 ondestroy,但我读到有人在另一个线程中遇到了问题。)。这应该在大多数系统上运行得相当快。

在 asyncTask 完成运行之前,drawthread 仅显示“正在加载”的文本。因此,当所有内容都被加载和绘制时,用户开始触摸屏幕,这就是 ANR 出现的时候。有小费吗?

更新(12-05-18):我设法从模拟器中获得了一个 logcat。我使用了慢速计算机,当我使用快速计算机时,A​​NR 没有出现。

PID 860 是活动

0 投票
0 回答
780 浏览

android - Android中的ANR keyDispatchingTimedOut

由于我之前没有处理过这个问题,所以我无法提供太多细节,这是一个冻结,我想知道如何处理和解决这个问题。它说原因是 ANR keyDispatchingTimedOut

0 投票
1 回答
855 浏览

android - 谁负责在 Android 中触发 Application Not Responding Dialog?

谁负责在 Android 中触发 Application Not Responding Dialog,以防输入事件在 5 秒内未处理?是吗

Dalvik 运行时环境

或者

android 框架中的任何特定管理器

?