背景故事:
我一直在构建一个可以进行大量计算并构建复杂图表的应用程序。有时,当用户快速单击图表时(我的图表有触摸监听器,但用户可能不会同时疯狂单击),应用程序会询问用户是否要“等待”或“关闭”应用程序,因为更多的时间需要采取计算值。当用户单击“等待”时,一切正常并且值已加载。但是,如果用户“关闭”应用程序,那么它会取消初始化我的代码以使用我的 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/