在Android中有效缓存数据上传

Jon*_*han 7 android

我在Android中实现了一个队列服务,它将根据队列和wifi /数据连接事件更改状态.

我将要发布的事务排队到远程URL.如果设备具有数据或wifi连接,它将迭代队列并将数据发布到URL,直到队列为空,或者存在断开连接事件.

我可以登录我的应用程序,启用飞行模式,生成数据,关闭飞机模式,以及发布交易.即使有成千上万的交易,也不会减速.(我试着稍微掏钱)

输入:低接收!当3G接收率较低时,我的应用程序速度极慢.(是的,所有上传都发生在ui线程之外.)似乎这种减速的原因与服务器的帖子有很长一段时间发生,有时只是失败.

我的问题是,我该如何解决这个问题?检查信号质量?轮询一个已知地址?Gmail等其他应用如何解决此问题?这必须是一个常见的场景!

Jas*_*son 0

好吧,如果您可能有数千个任务需要执行,那么当然应该对它们进行管理。您是否考虑过实施自己的ThreadPoolExecutor?文档非常好,课程也很容易理解,但如果您需要示例,请尝试以下网站:

这样做的好处是,您可以限制生成的最大线程数,因此,如果您将线程数限制在合理的数量(对于 Android,我建议不超过20)。