我在Android中实现了一个队列服务,它将根据队列和wifi /数据连接事件更改状态.
我将要发布的事务排队到远程URL.如果设备具有数据或wifi连接,它将迭代队列并将数据发布到URL,直到队列为空,或者存在断开连接事件.
我可以登录我的应用程序,启用飞行模式,生成数据,关闭飞机模式,以及发布交易.即使有成千上万的交易,也不会减速.(我试着稍微掏钱)
输入:低接收!当3G接收率较低时,我的应用程序速度极慢.(是的,所有上传都发生在ui线程之外.)似乎这种减速的原因与服务器的帖子有很长一段时间发生,有时只是失败.
我的问题是,我该如何解决这个问题?检查信号质量?轮询一个已知地址?Gmail等其他应用如何解决此问题?这必须是一个常见的场景!
好吧,如果您可能有数千个任务需要执行,那么当然应该对它们进行管理。您是否考虑过实施自己的ThreadPoolExecutor?文档非常好,课程也很容易理解,但如果您需要示例,请尝试以下网站:
这样做的好处是,您可以限制生成的最大线程数,因此,如果您将线程数限制在合理的数量(对于 Android,我建议不超过20)。
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |