我正在开发一个Android应用程序,它使用在线服务,我需要加载我的碎片.基本上,我喜欢菜单,每个按钮都会替换下面的片段.当我单击一个按钮时,片段开始被替换,如果我同时按下键盘上的另一个按钮,我会看到Application Not Responding对话框,然后单击Wait,我的Fragment加载成功.有没有办法防止这种情况发生?由于Web服务,我的应用程序将始终需要几秒钟才能加载.我在谷歌上看到,我可以使用AsyncTask,并在DoOnBackground方法上完成加载..我不知道这是否有效,但我甚至无法尝试,因为它不会让我改变那里的视图,它抛出一个错误,只有原始线程可以更改视图..我需要服务来完成加载我的视图,所以我甚至无法使用AsyncTask进行服务..我现在已经没有想法了!必须有办法做到这一点..我很感激建议!
解决方法:
Is there a way to prevent that from happening?
是的:不要在主应用程序线程上花这么长时间.使用StrictMode识别可能的罪魁祸首(磁盘I / O,网络I / O),并使用TracevIEw找出您正在做的其他可能需要太长时间的事情.
My app will always take a few seconds to load, because of the web service.
这应该在后台线程中完成.
I read on Google, that i Could use AsyncTask, and finish the loading on the DoOnBackground method.. I don’t kNow if that works, but I can’t even try, because it won’t let me change the vIEw there, it throws an error about only the original thread can change the vIEws
这就是您从onPostExecute()方法更新视图的原因,如the documentation for AsyncTask
中所述.
以上是内存溢出为你收集整理的android – 如何避免ANR对话框应用程序无响应全部内容,希望文章能够帮你解决android – 如何避免ANR对话框应用程序无响应所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)