java - "Application not responding"并且用户选择 "close"应用程序而不是 "wait"

标签 java android dialog parse-platform android-anr-dialog

背景故事:

我一直在构建一个可以进行大量计算并构建复杂图表的应用程序。有时,当用户快速单击图表时(我的图表有触摸监听器,但用户可能不会同时疯狂单击),应用程序会询问用户是否要“等待”或“关闭”应用程序,因为更多的时间需要采取计算值。当用户单击“等待”时,一切正常并且值已加载。但是,如果用户“关闭”应用程序,那么它会取消初始化我的代码以使用我的 Parse 数据库,因此应用程序无法访问任何信息,包括使应用程序毫无意义的图形信息。

问题:

有没有办法检查用户是否选择“关闭”而不是“等待”?这样我就可以重新使用我的数据库。

<小时/>

更新:

我用严格模式解决了这个问题。

 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
    .detectAll()
    .penaltyLog()
    .build());

我希望这可以帮助人们。

最佳答案

关闭或等待是系统生成的对话框,通常称为 ANR on the Android平台。此对话框是您的应用程序在过去 5 秒左右没有响应的情况下产生的。在本例中,我假设您在用户单击特定 View 时启动网络调用或复杂(耗时)计算。如果是这样的话,当用户严格点击它时,系统会启动多个线程,从而进一步减慢进程。我建议您阅读本文的以下部分。

How to keep your application Responsive

希望这有帮助。 PS:- 这个问题与 Parse 没有直接关系。

关于java - "Application not responding"并且用户选择 "close"应用程序而不是 "wait",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962401/

相关文章:

java - 获取星期几不使用日历

android - 更新显示对话框中的内容

jquery - 在页面中显示的 Html 和 jquery 对话框问题

java - Axis2 对象到 xml

java - 通过 CLI 添加自定义记录器到 JBoss EAP 6.2

java - NullPointerException 因为重写函数并被父类(super class)调用

java - 如何用Java制作一个Android倒计时器?

java - SOLR tika 处理器无法完美抓取我的 PDF 文件

java - Facebook 登录崩溃 java.lang.UnsupportedOperationException

java - 错误 : "Cannot invoke String() on the primitive type float " on quadratic formula?