首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果Http调用需要时间才能返回,则Android Widget上的按钮点击会卡住

如果Http调用需要时间才能返回,则Android Widget上的按钮点击会卡住
EN

Stack Overflow用户
提问于 2012-12-14 01:11:46
回答 2查看 303关注 0票数 1

我的小部件有两个按钮,用于在小部件中进行右导航和左导航。如果我有一组数据,那么我使用向左和向右箭头按钮在数据之间切换。为了更新数据,我每分钟都会进行一次Http调用。如果http调用需要时间才能返回,我的按钮点击开始累积,并在暂停7-8秒后突然连续触发。我使用pendingIntents的按钮,并在小工具的广播接收器中接收它。

如果HTTP调用速度很快,则按钮单击可以正常工作。

但是如果HTTP调用返回得很慢,我在右箭头上点击了10次,而点击什么也不会发生,在7-8秒后,10次点击将在闪光中触发。

请建议我如何才能阻止我的按钮点击被阻止,然后被解雇。

HTTP调用速度慢是按钮卡住的真正原因吗?

EN

回答 2

Stack Overflow用户

发布于 2012-12-14 01:16:16

您不应该从UI线程进行HTTP调用,因此请确保使用AsyncTask来执行任何i/O或网络操作。

AsyncTask

票数 1
EN

Stack Overflow用户

发布于 2012-12-14 01:40:21

这可能是因为你在UI线程上做HTTP请求,这不是一个好主意,因为HTTP请求可能会花费时间,因为其他网络任务或I/O任务,android将检测到这一点,并可能向用户显示ANR消息(应用程序未响应),并询问用户是否要强制关闭应用程序。

您需要在onclick事件将触发的ASyncTask中运行HTTP请求。这样,将为HTTP内容创建一个新线程,同时用户界面可以继续工作并接受用户输入,而不是锁定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13864952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档