我正在开发一个Android应用程序,该应用程序使用在线服务,我需要加载我的片段。基本上,我有一个菜单,每个按钮替换下面的碎片。当我点击一个按钮时,片段开始被替换,如果我同时按下了键盘上的另一个按钮,我得到“应用程序不响应”对话框,然后单击“等待”,并成功加载我的片段。有没有办法阻止这种情况发生?由于Web服务,我的应用程序总是需要几秒钟才能加载。我在Google上读到,我可以使用AsyncTask,并在DoOnBackground方法上完成加载。我不知道这是否有效,但我甚至无法尝试,因为它不会让我改变视图,它会抛出一个关于只有原始线程可以改变视图的错误..我需要服务来完成加载我的视图,所以我甚至不能用AsyncTask做这个服务。我现在已经没有想法了!必须有办法做到这一点..我欣赏建议!如何避免ANR对话框应用程序未响应
1
A
回答
11
有没有办法阻止这种情况发生?
是的:不要花太长的时间在主应用程序线程上。使用StrictMode
来识别可能的罪魁祸首(磁盘I/O,网络I/O),并使用Traceview找出你正在做的事情,可能需要很长时间。
由于Web服务的原因,我的应用程序总是需要几秒钟才能加载。
这应该在后台线程中完成。
我读谷歌,我可以使用的AsyncTask,并完成对DoOnBackground方法加载..我不知道是否可行,但我不能去尝试,因为它不会让我改变看法有,它抛出一个错误大约只有原来的线程可以改变看法
这就是为什么你更新从onPostExecute()
方法的意见,如the documentation for AsyncTask
描述。
0
您必须对AsyncTask的onPostExecute()函数中的ui进行更改。
0
绝不要在主干上下文中执行数据库操作或内容提供者操作。迟早你会遇到应用程序不响应错误。 ANR不是一个好的做法。
相关问题
- 1. 如何避免显示“应用程序不响应”对话框
- 2. 如何避免“应用程序Android键盘未响应”消息?
- 3. 长时间运行ProgressDialog显示应用程序没有响应(ANR)对话框
- 4. 更改ANR(应用程序无响应)对话框(Android)的自定义对话框
- 5. 在我的android应用程序中的ANR对话框
- 6. 应用程序未响应(ANR)执行服务com.onesignal.SyncService
- 7. 发送对话框响应与对话框对话框响应
- 8. 响应进程对话框
- 9. ANR应用程序
- 10. 避免针对Web应用程序的会话劫持
- 11. Soomla - 应用程序没有响应,而购买对话框
- 12. 如何避免Web应用程序框架的冲突
- 13. Android。使用HttpClient避免ANR
- 14. 如何在地图集成应用程序中使用处理程序线程时避免Android ANR?
- 15. 应用MediaRecorder程序ANR
- 16. 如何避免应用程序没有响应而网络在android
- 17. 如何在Android中自定义ANR对话框而不是android ANR对话框
- 18. 如何避免WebException for 403 Forbidden响应?
- 19. 如何处理AppleScript对话框响应?
- 20. 避免应用程序[过程]
- 21. Firefox避免缓存响应?
- 22. 如何避免在Android中发生ANR?
- 23. 如何避免POST请求响应未知事件代码
- 24. 避免重新启动应用程序
- 25. 避免再次启动应用程序
- 26. 避免UIWebView加载iTunes应用程序
- 27. ExeShield与.Net对话框应用程序
- 28. Android安装应用程序对话框
- 29. Android对话框崩溃应用程序
- 30. 单个对话框应用程序
好的,谢谢!我会尝试 – ximena
你应该接受这个答案! – 2012-11-09 14:53:56
是的,我会尽快:),只要它让我 – ximena